C++ | Varios C++ | Pregunta 3

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *