编译能够通过,但是程序运行时被终止。高手,帮忙看下!
#include<iostream.h>
#include<string>
class String
{
public:
String(){mychar=NULL;}
String(char *my):mychar(my){}
void display()
{
cout<<*mychar;
}
friend String operator +=(String &s1,String &s2)
{
s1=s1+s2;
return (s1);
}
friend String operator +(String &s1,String &s2)
{
String s3;
s3=s1+s2;
return s3;
}
bool operator ==(String &s2)
{
if(strcmp(mychar,s2.mychar)==0)
return true;
else
return false;
}
private:
char *mychar;
};
int main()
{
String s1("book"),s2("hello"),s3;
s1+=s2;
s1.display();
cout<<endl;
s3=s1+s2;
s3.display();
cout<<endl;
cout<<(s1==s2)<<endl;
return 0;
}