C++ 类设计总结回顾------默认构造函数

1. 编辑器生成的成员函数

1.1 默认构造函数

  如果已经定义了构造函数,C++将不会定义默认构造函数,这时如果希望在创建对象时不显式地对它进行初始化,则必须显式的定义默认构造函数。默认构造函数要么没有参数,要么所有的参数都有默认值。如果没有显式的定义任何构造函数,编译器将定义默认构造函数,使能够创建对象。另一项功能是自动生成的默认构造函数能够调用基类的默认构造函数以及调用本身是对象的成员所属类的默认构造函数。(ps:第二个有点拗口,如果class A中有一个成员,这个成员本身也是一个类class B,那么A的默认构造函数能够调用B的默认构造函数)

  另外,如果派生类构造函数的成员初始化列表中没有显式的调用基类的构造函数,则编译器将使用基类的默认构造函数来构造派生类对象的基类部分。

  提供构造函数的目的之一是确保对象总能够被正确的初始化。另外如果类中包含指针成员,则必须初始化这些成员。因此,最好的做法是显式默认构造函数,将所有的类数据成员都初始化为合理的值

  

猜你喜欢

转载自www.cnblogs.com/Triw/p/9435378.html
今日推荐