От: | overt | ||
Дата: | 25.06.08 07:52 | ||
Оценка: |
Перегрузка операторов в форме внешних функций
Чтобы перегрузить оператор в форме внешней функции, необходимо определить глобальную
функцию.
class String {
friend String& operator+(const String&, const String&);
private:
char* s;
public:
// Конструкторы и т.д.
}
String& operator+(const String& s1, const String& s2)
{
char* s = new char[strlen(s1.s) + strlen(s2.s) + 1];
strcat(s, s1.s, s2.s);
String newStr(s);
delete s;
return newStr;
}
String s1 = “Hello”;
String s2 = “Goodbye”;
String s3 = s1 + s2;