Overload degli operatori unari
Di seguito sono elencati gli operatori unari di cui è possibile eseguire l'overload:
! (NOT logico)
& (address-of)
+ (unario più)
- (negazione unaria)
++ (incremento)
-- (decremento)
operatori di conversione
Gli operatori di incremento e decremento del suffisso (++ e ––) sono trattati separatamente in Incremento e decremento.
Gli operatori di conversione vengono illustrati in un argomento distinto, vedere Conversioni.
Le regole seguenti valgono per tutti gli altri operatori unari. Per dichiarare una funzione di un operatore unario come membro non statico, è necessario dichiararla nel seguente formato:
ret-type operatorop**()**
dove ret-type è il tipo restituito e op è uno degli operatori elencati nella tabella precedente.
Per dichiarare una funzione di un operatore unario come funzione globale, è necessario dichiararla nel seguente formato:
ret-type operatorop (arg )
dove ret-type e op vengono descritti per le funzioni dell'operatore membro e arg è un argomento di tipo classe su cui intervenire.
Nota
Non esiste alcun limite relativamente ai tipi restituiti degli operatori unari.Può ad esempio risultare utile che l'operatore logico NOT (!) restituisca un valore integrale, sebbene non sia imposto.