C++ | Sobrecarga del operador | Pregunta 5

¿En qué se diferencia el compilador de C++ entre los operadores de postfijo y prefijo sobrecargados?
(A) C++ no permite que ambos operadores se sobrecarguen en una clase
(B) Un sufijo ++ tiene un parámetro ficticio
(C) Un prefijo ++ tiene un parámetro ficticio
(D) Haciendo prefijo ++ como una función global y posfijo como una función miembro.

Respuesta: (B)
Explicación: Ver el siguiente ejemplo:

class Complex
{
private:
    int real;
    int imag;
public:
    Complex(int r, int i)  {  real = r;   imag = i; }
    Complex operator ++(int);
    Complex & operator ++();
};

Complex &Complex::operator ++()
{
    real++; imag++;
    return *this;
}

Complex Complex::operator ++(int i)
{
    Complex c1(real, imag);
    real++; imag++;
    return c1;
}

int main()
{
    Complex c1(10, 15);
    c1++; 
    ++c1;
    return 0;
}

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *