如果一个类定义了若干个成员变量又没有其他构造函数,需要定义一个默认构造函数,否则编译器将自动生成默认构造函数。
定义:新建一个没有参数的对象时,默认构造函数被调用,当使用new时,默认构造函数会被调用。
优点:默认将结构体初始化为“不可能的”值,使调试更加容易
缺点:对代码编写者来说,这是多余的工作。
结论:如果类中定义了成员变量,没有提供其他构造函数,则需要自定义一个默认构造函数(没有参数)。默认构造函数用于初始化对象,使对象内部状态一致、有效。
提供默认构造函数的原因:编译器自动生成的构造函数不会对对象进行初始化。
如果定义的类继承自现有类,且没有新增新的成员变量,则不需要为新类定义默认构造函数。