C++ | Constructores | Pregunta 7

¿Cuál es la salida del siguiente programa?

#include <iostream>
using namespace std;
  
class Point
{
    int x, y;
public:
   Point(const Point &p) { x = p.x; y = p.y; }
   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) x = valor basura y = valor basura
(B) x = 0 y = 0
(C)

Respuesta de error del compilador : (C)
Explicación: Hay un error del compilador en la línea «Punto p1;». La clase Point no tiene un constructor sin ningún parámetro. Si escribimos cualquier constructor, el compilador no crea el constructor predeterminado .

No es cierto de otra manera, es decir, si escribimos un constructor predeterminado o parametrizado, entonces el compilador crea un constructor de copia. Vea la siguiente pregunta.
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 *