C++ | Constructores | Pregunta 6

#include<iostream>
using namespace std;
  
class X 
{
public:
    int x;
};
  
int main()
{
    X a = {10};
    X b = a;
    cout << a.x << " " << b.x;
    return 0;
}

(A) Error del compilador
(B) 10 seguido de Valor basura
(C) 10 10
(D) 10 0

Respuesta: (C)
Explicación: Lo siguiente puede parecer un error, pero funciona bien.

Xa = {10};

Al igual que las estructuras, los objetos de clase se pueden inicializar.

La línea “X b = a;” llama al constructor de copias y es lo mismo que «X b(a);». Tenga en cuenta que, si no escribimos nuestro propio constructor de copia, el compilador crea un constructor de copia predeterminado que asigna miembros de datos de un objeto a otro objeto.
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 *