Sobes.tech
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