Middle
Wie überschreibt man den Postfix- und Prefix-Inkrementoperator in C++?
sobes.tech KI
Antwort von AI
Die Präfix- und Postfix-Inkrementoperatoren ++ in C++ werden durch zwei verschiedene Signaturen von Mitgliedsfunktionen überladen:
-
Präfix-Inkrement: Gibt eine Referenz auf das aktuelle Objekt (
*this) nach dessen Änderung zurück.ClassName& operator++() { // Logik des Präfix-Inkrements // Zustand des Objekts ändern return *this; // Referenz auf das geänderte Objekt zurückgeben } -
Postfix-Inkrement: Gibt eine Kopie des Objekts vor seiner Änderung zurück. Es unterscheidet sich durch das Vorhandensein eines fiktiven Parameters
int.ClassName operator++(int) { ClassName temp = *this; // Aktuellen Zustand speichern // Logik des Postfix-Inkrements // Zustand des Objekts ändern return temp; // Gespeicherte Kopie zurückgeben }
| Inkrementtyp | Funktionssignatur | Rückgabewert | Parameter |
|---|---|---|---|
| Präfix | ClassName& operator++() |
Referenz auf das modifizierte Objekt | Kein |
| Postfix | ClassName operator++(int) |
Kopie des Objekts vor der Änderung | Fiktiver int |