c++ - 证明构造函数 C++ 之前调用初始化列表的任何示例

标签 c++ constructor

我已经搜索过但仍然没有得到简单和正确的答案,下面是我的代码。

#include <iostream>
using namespace std;

class Parent
{
    private:
        int a;

    public:
        Parent():a(3) { cout << a; }
};

int main()
{
    Parent obj; 
    return 0;
}

您能否添加额外的代码行来证明或向我展示构造函数之前的初始化列表调用?

最佳答案

我会稍微修改你的代码:

#include <iostream>
using namespace std;
class Parent
{
    public:
        int a;
    public:
        Parent():a(3){
            a = 4;
        }

};

int main()
{
    Parent obj;
    cout << obj.a;

    return 0;
}

输出为4,因此a被初始化为3,然后赋值为4

关于c++ - 证明构造函数 C++ 之前调用初始化列表的任何示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30618232/

相关文章:

c++ - 必须存在不相关的专业才能编译?

c++ - 在 C++ 中测试有效指针

class - 当我们同时使用主构造函数和辅助构造函数时,如何在 kotlin 中初始化类的成员?

c# - 为什么不能创建抽象类实例但可以调用其构造函数?

java - Android Java 类中是否需要声明上下文?

c++ - 创建交换链失败

c++ - 队列调用事件循环中的一个插槽由 Qt 以向后顺序处理

c++ - 返回对象时,我不能简单地在类名后使用 {}

c# - 为什么 MessageBox 类在 C# 中没有默认构造函数?

java - 引用构造函数中的方法 (java)