Мне нужна помощь с обеими функциями перегрузки оператора, представленными ниже. Я не знаю, как я могу реализовать это, фактически не используя назначение в определениях функций.Составное назначение и добавление перегрузки оператора
Код для оператора + в моем файле .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-коды файлов неправильные, некоторые прозрения были бы замечательными!
Если вы вычеркивание string, прежде чем пытаться добавить к нему, вы не получите очень далеко ... –
Что вам на самом деле нужно + и + = делать, добавить строку? –
Мне нужен оператор +, чтобы объединить две строки (где String1 = String2 + String3 + String4 работает), и мне нужно + =, чтобы иметь возможность управлять String1 + = String2, что означает String1 = String1 + String2. – user1363061