Строки равны и неравны

#include <iostream.h>

#include <string.h>

class string

{

public:

string(char *); // конструктор

char * operator +(char *);

char * operator -(char);

int operator ==(string);

void show_string(void);

private:

char data[256];

};

string::string(char *str)

{

strcpy(data, str);

}

char * string ::operator +(char *str)

{

return(strcat(data, str));

}

char * string:: operator -(char letter)

{

char temp[256];

int i, j;

for (i = 0, j = 0; data[i]; i++) if (data[i] 1= letter) temp[j++] = data[i];

temp[j] = NULL;

return(strcpy(data, temp));

}

int string::operator ==(string str)

{

int i;

for (i = 0; data[i] == str.data[i]; i++)

if ((data[i] == NULL) && (str.data[i] == NULL)) return(1); // Равно

return (0); //He равно

}

void string::show_string(void)

{

cout << data << endl;

}

void main(void)

{

string title("Учимся программировать на C++");

string lesson("Перегрузка операторов");

string str("Учимся программировать на C++");

if (title == lesson) cout << "title и lesson равны" << endl;

if (str == lesson) cout << "str и lesson равны" << endl;

if (title == str) cout << "title и str равны" << endl;

}

Пример 4


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: