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.