Полное руководство по перегруженным операторам с друзьями в объектно-ориентированном программировании

«Перегруженные операторы с друзьями» относятся к концепции перегрузки операторов в объектно-ориентированных языках программирования, особенно в контексте использования ключевого слова friend. Когда функция объявлена ​​как другкласса, она позволяет ей получать доступ к закрытым и защищенным членам этого класса. Эта возможность может быть особенно полезна при перегрузке операторов.

Вот несколько часто перегруженных операторов, которые можно реализовать как функции Friend:

  1. Арифметические операторы:

    • Дополнение (+)
    • Вычитание (-)
    • Умножение (*)
    • Деление (/)
    • Модуль (%)
  2. Операторы отношения:

    • Равенство (==)
    • Неравенство (!=)
    • Меньше (<)
    • Больше (>)
    • Меньше или равно (<=)
    • Больше или равно (>=)
  3. Операторы присваивания:

    • Присвоение (=)
    • Дополнительное присвоение (+=)
    • Присвоение вычитания (-=)
    • Присвоение умножения (*=)
    • Назначение деления (/=)
    • Присвоение модуля (%=)
  4. Операторы увеличения и уменьшения:

    • Приращение префикса (++)
    • Уменьшение префикса (–)
    • Приращение постфикса (++)
    • Постфиксный декремент (–)
  5. Операторы потока:

    • Входной поток (>>)
    • Выходной поток (<<)
  6. Унарные операторы:

    • Унарный плюс (+)
    • Унарный минус (-)
    • Логическое отрицание (!)
    • Побитовое дополнение (~)
    • Разыменование (*)
    • Адрес (&)

Перегружая эти операторы как функции Friend, вы можете определить собственное поведение классов по отношению к этим операциям.