Ключевое слово operator
объявляет функцию, которая указывает, что означает operator-symbol
при применении к экземпляру класса. Это дает оператору более одного значения — "перегружает" его. Компилятор различает разные значения оператора, проверяя типы его операндов.
Функцию большинства встроенных операторов можно переопределить глобально или для отдельных классов. Перегруженные операторы реализуются в виде функции.
Перегруженный оператор имеет имя operator``x
, где x
означает оператор из следующей таблицы. Например, для перегрузки оператора сложения необходимо определить функцию operator+
. Аналогично, для сложения/присвоения +=
необходимо определить функцию operator+=
.