我有一个名为 String 的简单类,它有一个 char* 作为私有字段。
class String {
char *s;
+ some public methods
};
我想重载 + 运算符,因此 a + b 意味着 a 和 b 中的字符串被连接起来。
功能在这里:
String String::operator+(String a)
{
String rez;
rez.s = new char[strlen(this->s) + strlen(a.s) + 1];
assert(rez.s);
strcpy(rez.s, this->s);
strcat(rez.s, a.s);
cout<<rez.s<<endl; // HERE rez.s CONTAINS THE RIGHT STRING!
return rez;
}
在我这样称呼之后: c = a + b;
我收到一个名为调试断言失败的错误。
有任何想法吗?