C++继承和派生

2020-11-06  本文已影响0人  StevenHD

一、继承方式和访问权限的影响

public的继承方式不影响子类中数据成员的访问权限
  1. 子类
    如果是公有继承,那么在子类中,可以访问的就是父类的public还有protected数据成员。
  2. 子类对象
    如果是公有继承,那么在子类对象中,可以访问的就只有父类的public数据成员。

二、派生类的构造

之前我们有说,派生类的构造函数,需要显式地调用基类的构造器,像下面这样——


派生类的构造器需要显式地调用基类的构造器

但其实,如果父类中有标配(重载or默认),那么子类中是可以不用显式地调用父类的构造器的——


子类不用显式地调用父类的构造器1
子类不用显式地调用父类的构造器2

可以通过显式调用更改父类的默认值——

更改父类构造器的默认值

但是,下面这样就需要显式地调用了——


子类需要显式地调用父类的构造器

问题解决——


子类显式地调用父类的构造器

三、构造顺序

如果构造器中出现了参数不统一的问题,那么子类解决父类即可,父类解决父类的父类

四、类中的子对象的初始化

4.1 初始化顺序——

  1. 父类初始化(所有父类都需要初始化结束)
  2. 类对象初始化(Birthday类对象A类对象
  3. 本类初始化
    初始化顺序
上一篇 下一篇

猜你喜欢

热点阅读