#include
using namespace std;
class X
{
public:
int x;
};
int main()
{
X a = {10};
X b = a;
cout << a.x << " " << b.x;
return 0;
}
(A)编译器错误
(B) 10,其次是垃圾价值
(C) 10 10
(D) 10 0答案: (C)
说明:以下内容可能看起来像一个错误,但工作正常。
X a = {10};
像结构一样,类对象也可以初始化。
“ X b = a;”行调用复制构造函数,并且与“ X b(a);”相同。请注意,如果我们不编写自己的副本构造函数,则编译器会创建一个默认的副本构造函数,该构造函数将数据成员一个对象分配给另一个对象。
这个问题的测验
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。