您的位置:首页 > 编程语言 > C语言/C++

C++重载string类的+=运算符号

2016-11-17 21:01 351 查看
class MyString()
{
private:
char *str;
public:
MyString(char *s)
{
str = new char(strlen(s)+1);
strcpy(str,s);
}
~MyString()
{
delete[]str;
}
MyString &operator = (MyString &string)
{
if(this == &string)
{
return *this;
}
if(str != NULL)
{
delete[] str;
}
str = new char(strlen(string.str)+1);
strcpy(str,string.str);
return *this;
}
MyString &operator + (MyString &string)		//重载+运算符号,覆盖原来属性的内容
{
char *temp = str;
str = new char(strlen(temp)+strlen(string.str)+1);
strcpy(str,temp);
delete[]temp;
strcat(str,string.str);
return *this;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++重载运算符