Void main(void)
{
str
title("C and ");
title=title
+ "C++";
title.show_string();
title=title-'C'
;
title.show_string();
getch();
}
Изменив перегруженные операторы плюс
и минус таким образом, чтобы они возвращали
указатель на символьную строку, программа
может теперь использовать эти операторы
в привычном для оператора присваивания
виде:
title=title
+ "C++";
title=title-'C'
;
Вывод:
Перегрузка операторов — это возможность
назначать новый смысл операторам при
использовании их с определенным классом.
Используя перегрузку операторов,
повышается удобочитаемость программ
и облегчается их понимание.
Чтобы перегрузить оператор, необходимо
определить класс, которому оператор
будет назначен.
Когда перегружается оператор, перегрузка
действует только для класса, в котором
он определяется. Если программа использует
оператор с неклассовыми переменными
(например, переменными типа int или float),
используется стандартное определение
оператора.
Чтобы перегрузить оператор класса,
используйте ключевое слово C++ operator для
определения метода класса, который C++
вызывает каждый раз, когда переменная
класса использует оператор.
C++ не позволяет перегружать оператор
выбора элемента (.), оператор указателя
на элемент (.*), оператор разрешения
области видимости (::) и условный оператор
сравнения (?:).