📜  C ++ |构造函数|问题6

📅  最后修改于: 2021-06-29 23:39:47             🧑  作者: Mango

#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基础课程》。