¿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; }
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