Еднократно претоварване на оператора

При претоварване на единична операция функцията на оператора няма параметри. Както в предишния случай, обектът, който се модифицира, имплицитно се предава на операторската функция, използвайки този указател.

Унарният оператор, подобно на двоичния, може да бъде претоварен по два начина:

- като функционален компонент без аргументи;

- като глобална функция с един аргумент.

Както знаете, унарният оператор може да бъде префикс и постфикс. За всеки префикс единен оператор изразът може да бъде представен по първия начин като a.operator # (), а за втория като #operator (a).

При претоварване на унарния оператор, използван в постфикс форма, израз като # може да бъде представен по първия начин като a.operator # (int) или как оператор # (a, int) с втория метод. В същото време аргумент от тип int не съществува и се използва за разграничаване на префикс и постфикс форми при претоварване.

По-долу е даден пример за програма за претоварване на оператора ++ и изпълнение на множество задания. За да се претовари унарният оператор ++, предшестващ оператора ++ i, се извиква функцията оператор ++ (). Ако операторът ++ следва операнда i ++, тогава се извиква функцията