C++派生类的构造函数和析构函数

派生类在初始化时需要通过构造函数调用基类构造函数来初始化基类成员,并对自身新增成员进行初始化。派生类构造函数执行顺序为:先调用基类构造函数(按声明顺序),再初始化新增成员,最后执行派生类构造函数体。派生类析构函数则逆序执行,先清理派生类新增成员,再调用基类析构函数。如果基类有参数化的构造函数,派生类必须定义构造函数;若基类有默认构造函数,派生类可省略对基类构造函数的调用。
摘要由CSDN通过智能技术生成

        派生类不仅继承了基类的成员,还添加了新的成员进行了功能的扩充。因此在建立派生类的实例对象时,不仅要初始化派生类对象的基类成员,还要对派生类的新增成员进行初始化。但由于基类的构造函数和析构函数不能被继承,因此派生类构造函数必须负责调用基类构造函数,并对其所需要的参数进行设置。同样,对派生类对象的清理工作也需要加入新的析构函数。


》派生类的构造函数

        派生类的数据成员由所有基类的数据成员与派生类新增的数据成员共同组成。构造派生类的对象时,必须对全部数据成员进行初始化。因此,派生类的构造函数必须要以合适的初值作为参数,调用基类的构造函数用以初始化基类的数据成员,并对新增的数据成员进行初始化。

        派生类构造函数的一般格式:

                  <派生类名>::<派生类名>(<总参数表>):<基类名1>(<参数表1>),<基类名2>(<参数表2>),<基类名3>(<参数表3>),......

                  {

                       <派生类构造函数体>

                  }

         派生类的构造函数名与类名相同。在构造函数的参数表中,给出了初始化基类数据以及新增数据成员所需要的全部参数。在参数之后的成员初始化列表中,列出需要使用参数进行初始化的基类名和成员名以及各自的参数表,各项之间使用逗号分隔。

         当派生类有多个基类时,处于同一层次的各个基类的构造函数的调用顺序取决于定义派生类时声明的顺序(自左向右),而与在派生类构造函数的初始化列表中给出的顺序无关。如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值