Re[4]: Перегрузка операций
От: MaximE Великобритания  
Дата: 24.01.02 07:08
Оценка:
T>Вот пример, может не очень оптимальный...
T>
T>const String String::operator+(const String& s1)
T>{
T>    String temp;
T>    delete [] temp.data;
T>    temp.data = new char[strlen(data)+strlen(s1.data)+1];

Указатели на буферы, которые возвращают basic_string::data() и basic_string::c_str() являются константными. Также, удалять эти буферы нельзя - этим занимается basic_string.

T>    strcpy(temp.data, data);
T>    strcat(temp.data, s1.data);
T>    return temp;
T>}
T>


T>Только возвращать по ссылке нельзя!!!

Можно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.