Predecir la salida del siguiente programa C++
#include<iostream> using namespace std; union A { int a; unsigned int b; A() { a = 10; } unsigned int getb() {return b;} }; int main() { A obj; cout << obj.getb(); return 0; }
(A) Error del compilador: la unión no puede tener funciones
(B) Error del compilador: no se puede acceder a los miembros privados de A
(C) 10
(D) valor basura
Respuesta: (C)
Explicación: Al igual que la estructura y la clase, la unión puede tener métodos. Al igual que la estructura y la clase, los miembros de la unión son públicos de forma predeterminada.
Dado que los miembros de datos de la unión comparten memoria, el valor de b se convierte en el mismo que el de a.
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