Middle
Come sovraccaricare l'operatore di incremento postfix e prefix in C++?
sobes.tech AI
Risposta dell'AI
Gli operatori di incremento prefisso e postfix ++ in C++ vengono sovraccaricati utilizzando due firme di funzioni membro diverse:
-
Incremento prefisso: Restituisce un riferimento all'oggetto corrente (
*this) dopo la sua modifica.ClassName& operator++() { // Logica dell'incremento prefisso // Modifica dello stato dell'oggetto return *this; // Restituisce il riferimento all'oggetto modificato } -
Incremento postfix: Restituisce una copia dell'oggetto prima della sua modifica. Si differenzia per la presenza di un parametro fittizio
int.ClassName operator++(int) { ClassName temp = *this; // Salva lo stato attuale // Logica dell'incremento postfix // Modifica dello stato dell'oggetto return temp; // Restituisce la copia salvata }
| Tipo di incremento | Firma della funzione | Valore restituito | Parametri |
|---|---|---|---|
| Prefisso | ClassName& operator++() |
Riferimento all'oggetto modificato | Nessuno |
| Postfisso | ClassName operator++(int) |
Copia dell'oggetto prima della modifica | Parametro fittizio int |