c++ - 什么时候调用成员数据构造函数?

标签 c++ constructor

我有一个全局成员数据对象,像这样在 header 中定义(对于类 MyMainObj)。

class MyMainObj
{
    MyDataObj obj;
}

MyDataObj 有一个默认构造函数。 MyDataObj 的构造函数何时被调用? 它是作为创建 MyMainObj 的一部分调用的吗?

最佳答案

在这种情况下,MyDataObj 不是 MyMainObj 的成员,它是一个局部变量。

但是,数据成员的构造函数是在类的构造函数中调用的。每个成员的默认构造函数在执行到达构造函数的第一行之前被调用,除非您使用初始化列表显式指定构造函数,在这种情况下调用该构造函数相反。

关于c++ - 什么时候调用成员数据构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573806/

相关文章:

c++ - 如何在函数模板中隐式推导数组中元素的类型信息

c++ - 关闭文件时会出现错误吗?

c++ - 虚拟方法不调用派生类方法。 - C++

c# - 构造函数中的这种变化是否被允许?

Java Lombok : Omitting one field in @AllArgsConstructor?

c++ - 参数构造函数调用调用

c++ - 为什么 C++ 允许使用这种方法修改私有(private)成员?

c# - PInvoke "Attempted to read or write protected memory"

c++ - 内存清理程序报告全局对象构造中未初始化值的使用

java - 掷骰子的方法