Operatorii unari au un singur operand. Iată câteva exemple:
- operatorul aritmetic
-
, de schimbare a semnului - operatorul de negare logică
!
- operatorii de incrementare (
++
) și decrementare (--
). Aceștia sunt tratați în detaliu în acest articol.
De regulă, operatorii unari sunt prefixați (apar înainte de operand): !n
, - 5
, ++ x
, dar există și situații în care sunt postfixați: i ++
.
Următorul exemplu definește operatorul -
pentru schimbarea semnului unei fracții.
#include <iostream> using namespace std; class Fractie{ private: int numarator, numitor; public: void afiseaza() /// metodă pentru afișarea fractiei { cout << numarator << "/" << numitor << endl; } Fractie(int a = 0, int b = 1) /// constructor { if(b < 0) a = -a, b = -b; numarator = a, numitor = b; } Fractie operator- () { Fractie F(- numarator , numitor); return F; } }; int main(){ Fractie X(1 , - 4); (-X).afiseaza(); return 0; }
La rulare, programul de mai sus afișează:
1/4
Observație: La definirea unui operator unar printr-o metodă, aceasta nu are parametru.