Inheritance

publicprotectedprivate
共有继承publicprotected不可见
私有继承privateprivate不可见
保护继承protectedprotected不可见

可见继承属性就是对于来自基类的 public 和 protected 成员进行一个取最小权限的操作(定义权限 public > protected > private)。

struct 和 class 的数据定义没有区别。语法上区别是:struct 定义默认继承种类是 public,class 定义默认继承类型是 private,这和基类用 struct 还是 class 声明的无关

继承多个类时,需要给不同的基类分别指定访问限定符。

子类继承父类的 protected 属性/方法之后,可以通过子类的指针去访问;子类也不能通过父类指针访问 protected 的成员。