请帮助完成赋值重载函数的执行。
这是说明:
赋值运算符 (=) 将源字符串复制到目标字符串中。请注意,目标的大小需要调整为与源的大小相同。
加法 (+) 和赋值 (=) 运算符都需要能够进行级联操作。这意味着String3 = String1 + String2
,或者String1 = String2 = String3
应该工作。
这是我的 .cpp 文件:
int MyString::Length()
{
int counter(0);
while(String[counter] != '\0')
{
counter ++;
}
return (counter);
}
MyString& MyString::operator=(const MyString& rhs)
{
if(this != &rhs)
{
delete [] String;
String = new char[rhs.Length()];
for(int i = 0; i <rhs.Length()+1 ; i++)
{
String[i] = rhs.String[i];
}
}
return *this;
}
在 main.cpp 文件中通过以下方式调用它:
字符串1=字符串2=字符串3;
我觉得好像我错过了什么。救命!!