La plupart des opérateurs sont surchargeables. Voici
leur liste :
( ), [ ], ->
+ (unaire), - (unaire), ++, --, !, * (unaire), & (unaire)
*, /, %, +, -, <<, >>,
<, <=, >, ==, !=
&, ^, | |, &&, |
=
Les opérateurs :: . .* ?: sizeof ne peuvent être
surdéfinis. De même, il n’est pas possible
de changer la priorité, l’associativité,
la pluralité (unaire, binaire, ternaire) ni de créer
de nouveaux opérateurs.
La valeur de retour d’un opérateur surdéfini
peut être une référence à un
objet ou bien directement une valeur. Cela dépendra
en fait du type d’opérateur surchargé.