默认构造函数有什么用

What is the use of default constructor

本文关键字:什么 构造函数 默认      更新时间:2023-10-16

cpp 的主要座右铭之一是避免未初始化的变量。那么编译器提供的默认构造函数有什么用,因为它不初始化变量。

隐式生成的默认构造函数调用所有成员和基类的默认构造函数。它们可能是隐式生成的,也可能不是隐式生成的(这意味着,某个成员或成员的成员等可能具有非隐式生成的默认构造函数,一个实际执行某些操作的构造函数)。

在某些情况下,需要默认构造函数。例如

MyClass arrayOfObjects[10];

在这里,即使你要为数组中的对象分配新值,也会调用默认构造函数。或者不显式调用父构造函数的派生类 ctor。甚至是变量的简单声明:

MyClass x; // calls default constructor
...
x = ..;