【发布时间】:2022-06-15 21:29:40
【问题描述】:
所以如果我有类似以下的东西:
class MyClass{
public:
MyClass(){
// do other stuff
*oc = OtherClass(params);
}
private:
OtherClass* oc;
}
OtherClass 什么时候调用构造函数?是否会在 MyClass 初始化开始时立即调用其默认值,然后在 MyClass 构造函数期间使用其值构造函数重新定义?或者它只是在“//做其他事情”期间不存在。如果没有为其他类提供默认构造函数,只有一个值怎么办?在定义为成员变量的地方构造它是一种好习惯吗?
【问题讨论】:
-
不完全是骗子,但请阅读:stackoverflow.com/questions/1711990/…
-
*oc = OtherClass(params);如果指针oc未在“做其他事情”中初始化,则可能会导致崩溃。
标签: c++ class c++11 constructor nested