【问题标题】:Is a default constructor called on a class member variable if I am explicitly constructing it in the class constructor in c++?如果我在 C++ 的类构造函数中显式构造它,是否会在类成员变量上调用默认构造函数?
【发布时间】:2022-06-15 21:29:40
【问题描述】:

所以如果我有类似以下的东西:

class MyClass{
    public:
        MyClass(){
            // do other stuff
            *oc = OtherClass(params);
        }
    private:
        OtherClass* oc;
}

OtherClass 什么时候调用构造函数?是否会在 MyClass 初始化开始时立即调用其默认值,然后在 MyClass 构造函数期间使用其值构造函数重新定义?或者它只是在“//做其他事情”期间不存在。如果没有为其他类提供默认构造函数,只有一个值怎么办?在定义为成员变量的地方构造它是一种好习惯吗?

【问题讨论】:

标签: c++ class c++11 constructor nested


猜你喜欢
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
相关资源
最近更新 更多