Middle
Hoe overload je de postfix- en prefix-incrementoperator in C++?
sobes.tech AI
Antwoord van AI
De prefix- en postfixverhogingsoperatoren ++ in C++ worden overbelast met behulp van twee verschillende handtekeningen van lidfuncties:
-
Prefixverhoging: Geeft een verwijzing naar het huidige object (
*this) terug na wijziging.ClassName& operator++() { // Logica van prefixverhoging // Wijzig de toestand van het object return *this; // Geef een verwijzing naar het gewijzigde object } -
Postfixverhoging: Geeft een kopie van het object vóór de wijziging terug. Verschilt door de aanwezigheid van een fictieve parameter
int.ClassName operator++(int) { ClassName temp = *this; // Bewaar de huidige toestand // Logica van postfixverhoging // Wijzig de toestand van het object return temp; // Geef de opgeslagen kopie terug }
| Type verhoging | Functiesignatuur | Geretourneerde waarde | Parameters |
|---|---|---|---|
| Prefix | ClassName& operator++() |
Verwijzing naar het gewijzigde object | Geen |
| Postfix | ClassName operator++(int) |
Kopie van het object vóór de wijziging | Fictieve int |