#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