Middle
¿Cómo sobrecargar el operador de incremento en postfix y prefix en C++?
sobes.tech AI
Respuesta de la IA
Los operadores de incremento prefijo y sufijo ++ en C++ se sobrecargan mediante dos firmas de funciones miembro diferentes:
-
Incremento en prefijo: Devuelve una referencia al objeto actual (
*this) después de su modificación.ClassName& operator++() { // Lógica del incremento en prefijo // Modificar el estado del objeto return *this; // Devolver referencia al objeto modificado } -
Incremento en sufijo: Devuelve una copia del objeto antes de su modificación. Se diferencia por tener un parámetro ficticio
int.ClassName operator++(int) { ClassName temp = *this; // Guardar el estado actual // Lógica del incremento en sufijo // Modificar el estado del objeto return temp; // Devolver la copia guardada }
| Tipo de incremento | Firma de la función | Valor devuelto | Parámetros |
|---|---|---|---|
| Prefijo | ClassName& operator++() |
Referencia al objeto modificado | Ninguno |
| Sufijo | ClassName operator++(int) |
Copia del objeto antes del cambio | Parámetro ficticio int |