运算符重载

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:47:00
#include <iostream.h>
#include <string.h>

class string{
char *buf;
int length;
public:
string(char *s"Good!"){
length=strlen(s);
buf=new char[length+1];
strcpy(buf,s);}
string operator -(string &s1,string &s2);
void show(){
cout<<buf<<endl;}
}
高手请帮忙写string opeator -(string &s1,string &s2)的主体
先谢谢了
s1="hello"
s2="el"
s1-s2="hlo"
这就是我要写的-

字符串没有-操作符的,不知道你对两个不相同的字符串怎么进行减操作。
下面是重载的+操作:
String operator+(String str1,String str2)
{
String newString(str1);
newString.cat(str2.string());
return newString;
}
String operator+(String str,char *s)
{
String newString(str);
newString.cat(s);
return newString;
}
String operator+(char *s,String str)
{
String newString(s);
newString.cat(str.string());
return newString;
}