C++ | Constructores | Pregunta 8

#include <iostream>
using namespace std;
  
class Point
{
    int x, y;
public:
   Point(int i = 0, int j = 0) { x = i; y = j; }
   int getX() { return x; }
   int getY() { return y; }
};
  
int main()
{
    Point p1;
    Point p2 = p1;
    cout << "x = " << p2.getX() << " y = " << p2.getY();
    return 0;
}

(A) Error del compilador
(B) x = 0 y = 0
(C) x = valor basura y = valor basura

Respuesta: (B)
Explicación: el compilador crea un constructor de copia si no escribimos el nuestro. El compilador lo escribe incluso si hemos escrito otros constructores en clase. Así que el programa anterior funciona bien. Dado que tenemos argumentos predeterminados, los valores asignados a x e y son 0 y 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 *