#include<iostream.h>
#include<string.h>
class string{
public:
string(char *); //Constructor
void operator+(char *);
void operator -(char);
int operator==(string);
void show_string(void);
private:
char data[256];
};
string::string(char *str)
{ strcpy(data,str);
}
void string::operator+(char *str)
{ strcat(data,str);
}
void 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;
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); //Equal
return(0); //Not Equal
}
void string::show_string(void)
{
cout<<data<<endl;
}
void main(void)
{
string title("Rescued By C++");
string lesson("Understanding Operator overloading");
string str("Rescued By C++");
if (title==lesson)
cout<<"str and lesson are equal"<<endl;
if(title==str)
cout<<"title and str are equal"<<endl;
}