Завдання:
Програма повинна перевірити чи однакові дві стрічки типу string, з використанням перегрузки операторів.
#include <iostream.h>
#include <conio.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] = 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);
}
void string::show_string(void)
{
cout << data << endl;
}
void main(void)
{
clrscr();
string title("Programyvannia na C++");
string lesson("Peregryzka operatoriv");
string str("Programyvannia na C++");
if (title = = lesson) cout << "title and lesson spivpaly" << endl;
if (str = = lesson) cout << "str and lesson spivpaly" << endl;
if (title = = str) cout << "title and str spivpaly" << endl;
}