如果一个类定义了若干成员变量又没有其他构造函数,需要定义一个默认构造函数,否则编译器将自动产生默认构造函数( Default Constructors),而编译器生成的构造函数并不会对对象进行初始化。
· 当新建一个没有参数的对象时,默认构造函数被调用;
· 当调用 new[]
时,默认构造函数总是被调用。
优点:默认构造函数将结构体初始化为 “ 不可能的 ” 的值,使调试更加容易。
缺点:对代码编写者来说,这是多余的工作。
如果定义的类继承自现有的类,而又没有增加新的成员变量,则不需要为新定义的类定义默认构造函数。
网友评论