Middle
Comment surcharge-t-on l'opérateur d'incrémentation postfixe et prefixe en C++?
sobes.tech IA
Réponse de l'IA
Les opérateurs d'incrémentation prefixe et suffixe ++ en C++ sont surchargés à l'aide de deux signatures de fonctions membres différentes :
-
Incrémentation en préfixe : Renvoie une référence à l'objet actuel (
*this) après sa modification.ClassName& operator++() { // Logique de l'incrémentation en préfixe // Modifier l'état de l'objet return *this; // Retourner la référence à l'objet modifié } -
Incrémentation en suffixe : Renvoie une copie de l'objet avant sa modification. Se distingue par la présence d'un paramètre fictif
int.ClassName operator++(int) { ClassName temp = *this; // Sauvegarder l'état actuel // Logique de l'incrémentation en suffixe // Modifier l'état de l'objet return temp; // Retourner la copie sauvegardée }
| Type d'incrémentation | Signature de la fonction | Valeur retournée | Paramètres |
|---|---|---|---|
| Préfixe | ClassName& operator++() |
Référence à l'objet modifié | Aucun |
| Suffixe | ClassName operator++(int) |
Copie de l'objet avant modification | Paramètre fictif int |