📜  C++ |其他C++ |问题3

📅  最后修改于: 2021-05-26 03:38:39             🧑  作者: Mango

预测以下C++程序的输出

#include
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)编译器错误:联合不能具有函数
(B)编译器错误:无法访问A的私有成员
(C) 10
(四)垃圾价值答案: (C)
说明:与struct和class一样,union可以具有方法。像struct和class一样,union的成员默认情况下是公共的。

由于联合的数据成员共享内存,因此b的值与a相同。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。