Partager via


Surcharge des opérateurs unaires

Les opérateurs unaires qui peuvent être surchargés sont les suivants :

  1. ! (NOT logique)

  2. & (address-of)

  3. ~ (complément)

  4. * (déréférencement du pointeur)

  5. + (plus unaire)

  6. - (négation unaire)

  7. ++ (incrément)

  8. -- (décrément)

  9. opérateurs de conversion

Les opérateurs suffixés d'incrémentation et de décrémentation (++ et ––) sont traités séparément dans Incrémentation et décrémentation.

Les opérateurs de conversion sont également traités dans une rubrique séparée. Voir Conversions.

Les règles suivantes s'appliquent à tous les autres opérateurs unaires. Pour déclarer une fonction d'opérateur unaire en tant que membre non statique, vous devez la déclarer comme suit :

ret-type operatorop**()**

ret-type est le type de retour et op est l'un des opérateurs répertoriés dans le tableau précédent.

Pour déclarer une fonction d'opérateur unaire en tant que fonction globale, vous devez la déclarer comme suit :

ret-type operatorop (arg )

ret-type et op apparaissent tels qu'ils sont décrits pour les fonctions d'opérateur de membre, et arg est un argument de type de classe à utiliser.

Notes

Il n'y a aucune restriction sur les types de retour des opérateurs unaires.Par exemple, il paraîtrait logique pour l'opérateur NOT logique (!) de retourner une valeur intégrale, mais cela n'est pas appliqué.

Voir aussi

Référence

Surcharge d'opérateur