cpp 的主要座右铭之一是避免未初始化的变量。那么编译器提供的默认构造函数有什么用,因为它不初始化变量。
问问题
93 次
2 回答
2
隐式生成的默认构造函数调用所有成员和基类的默认构造函数。它们可能是隐式生成的,也可能不是隐式生成的(意思是,某个成员或成员的成员等可能有一个非隐式生成的默认构造函数,一个实际上做某事的构造函数)。
于 2013-11-08T02:44:52.437 回答
1
在某些情况下,需要默认构造函数。例如
MyClass arrayOfObjects[10];
即使您要为数组中的对象分配新值,也会在此处调用默认构造函数。或者派生类 ctor 没有显式调用父构造函数。甚至是一个简单的变量声明:
MyClass x; // calls default constructor
...
x = ..;
于 2013-11-08T02:45:43.817 回答