Бинарные операторы

В следующей таблице приведен список операторов, которые можно перегрузить.

Переопределяемые бинарные операторы

Оператор Имя.
, Comma
!= Неравенство
% Модуль
%= Модуль/назначение
& Побитовое И
&& Логическое И
&= Побитовое И/назначение
* Умножение
*= Умножение/назначение
+ Дополнение
+= Сложение/назначение
- Вычитание
-= Вычитание/назначение
-> Выбор члена
->* Выбор указателя на член
/ Подразделение
/= Деление/назначение
< Меньше
<< Сдвиг влево
<<= Сдвиг влево/назначение
<= Меньше или равно
= Передача прав и обязанностей
== Equality
> Больше
>= Больше или равно
>> Сдвиг вправо
>>= Сдвиг вправо/назначение
^ Исключающее ИЛИ
^= Исключающее ИЛИ/назначение
| Побитовое ИЛИ
|= Побитовое включающее ИЛИ/назначение
|| Логическое ИЛИ

Чтобы объявить функцию бинарного оператора как нестатический член, необходимо объявить ее в виде

ret-typeoperatorop(arg)

Где тип повторных попыток является возвращаемым типом , op является одним из операторов, перечисленных в предыдущей таблице, и arg является аргументом любого типа.

Чтобы объявить функцию бинарного оператора как глобальную функцию, необходимо объявить ее в виде

ret-typeoperatorop(arg1,arg2)

где ret-type и op описаны для функций оператора-члена и arg1 и arg2 являются аргументами. Хотя бы один из аргументов должен принадлежать типу класса.

Примечание.

Ограничений на типы возвращаемого значения бинарных операторов нет, однако большинство пользовательских бинарных операторов возвращает тип класса или ссылку на тип класса.

См. также

Перегрузка операторов