«Перегруженные операторы с друзьями» относятся к концепции перегрузки операторов в объектно-ориентированных языках программирования, особенно в контексте использования ключевого слова friend. Когда функция объявлена как другкласса, она позволяет ей получать доступ к закрытым и защищенным членам этого класса. Эта возможность может быть особенно полезна при перегрузке операторов.
Вот несколько часто перегруженных операторов, которые можно реализовать как функции Friend:
-
Арифметические операторы:
- Дополнение (+)
- Вычитание (-)
- Умножение (*)
- Деление (/)
- Модуль (%)
-
Операторы отношения:
- Равенство (==)
- Неравенство (!=)
- Меньше (<)
- Больше (>)
- Меньше или равно (<=)
- Больше или равно (>=)
-
Операторы присваивания:
- Присвоение (=)
- Дополнительное присвоение (+=)
- Присвоение вычитания (-=)
- Присвоение умножения (*=)
- Назначение деления (/=)
- Присвоение модуля (%=)
-
Операторы увеличения и уменьшения:
- Приращение префикса (++)
- Уменьшение префикса (–)
- Приращение постфикса (++)
- Постфиксный декремент (–)
-
Операторы потока:
- Входной поток (>>)
- Выходной поток (<<)
-
Унарные операторы:
- Унарный плюс (+)
- Унарный минус (-)
- Логическое отрицание (!)
- Побитовое дополнение (~)
- Разыменование (*)
- Адрес (&)
Перегружая эти операторы как функции Friend, вы можете определить собственное поведение классов по отношению к этим операциям.