Вопросы к Поиску с Алисой
Унарные и бинарные операторы при перегрузке в C++ отличаются количеством параметров у представляющей их функции. metanit.com
Унарный оператор имеет один параметр, а бинарный — два. metanit.com Если оператор принимает два операнда, то первый операнд передаётся первому параметру функции, а второй операнд — второму параметру. metanit.com
Унарные операции обычно возвращают новый объект, созданный на основе имеющегося. metanit.com Если унарная операция перегружается как функция-член, то она не должна иметь аргументов, так как в этом случае ей передаётся неявный аргумент-указатель this на текущий объект. prog-cpp.ru Если унарная операция перегружается дружественной функцией, то она должна иметь один аргумент — объект, для которого она выполняется. prog-cpp.ru
Бинарная операция при перегрузке с использованием метода класса в качестве своего первого аргумента получает неявно переданную переменную класса (указатель this на объект), а в качестве второго — аргумент из списка параметров. prog-cpp.ru То есть фактически бинарная операция, перегружаемая методом класса, имеет один аргумент (правый операнд), а левый передаётся неявно через указатель this. prog-cpp.ru