Condividi tramite


Overload degli operatori unari

Di seguito sono elencati gli operatori unari di cui è possibile eseguire l'overload:

  1. ! (NOT logico)

  2. & (address-of)

  3. ~ (complemento a uno)

  4. * (dereferenziatore del puntatore)

  5. + (unario più)

  6. - (negazione unaria)

  7. ++ (incremento)

  8. -- (decremento)

  9. 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.

Vedere anche

Riferimenti

Overload degli operatori