|
目的是编一个重载运算符的程序:当输入两个字符时,有以下功能:
1、比较两个字符的大小;
2、连接两个字符串;
3、并且可以进行负值,如:若 a=' hello', b=a ,则 b='hello';
我只编了连接两个字符就很多错了,各位大侠帮忙看看,谢谢了先!!
#include <iostream.h>
#include <string.h>
class zf
{
char * str;
public:
void input()
{
cout<<"输入字符:"<<endl;
cin>>str;
}
void print()
{
cout<<str<<endl;
}
~zf()
{
delete str;
}
friend zf operator + (zf &a,zf &b);
};
zf operator + (zf &a,zf &b)
{
zf temp;
delete temp.str;
temp.str=new char [strlen(a.str)+strlen(b.str)+1];
strcpy(temp.str,a.str);
strcat(temp.str,b.str);
return temp;
}
main()
{
zf a ,b,c;
a.input();
b.input();
c=b+a;
c.print();
return 0;
} |
|