以下に示す両方の演算子のオーバーロード関数について助けが必要です。関数定義で代入を実際に使用せずにこれを実装する方法がわかりません。
.cpp ファイルの演算子 + のコード:
MyString& MyString::operator +(const MyString& rhs)
{
delete [] String;
String = new char[rhs.Size];
Size = rhs.Size;
// needs to be a loop for cascading +
// so that String1=String2+String3+String4 will work
for(int i = 0; i < rhs.Size+1 ; i++)
{
// String[i] + rhs.String[i]; ???
}
return *this;
}
.cpp ファイルの += 演算子のコード:
MyString& MyString::operator+=(const MyString& rhs)
{
delete [] String;
String = new char[rhs.Size];
String = String + rhs.String;
return *this;
}
main.cpp からの呼び出し:
String1 = String2 + String3 + String4;
String1.Print ();
String2 += String3;
String2.Print ();
私の .cpp ファイル コードが間違っていることはわかっています。