继承就是子类拥有父类的所有成员(变量\函数)
C++中没有像Java、Objective-C的基类(即最开始的类继承自Object),只有父类和子类,子类继承自父类,父类没有继承任何一个类

继承之对象内存布局

下面代码,有3个依次继承的类,子类和父类中的成员在内存中是怎么排列的呢?
C++面向对象之继承的本质
父类的成员变量在前,子类的成员变量在后
C++面向对象之继承的本质

成员访问权限和继承方式

class定义类成员默认privated,struct定义类成员默认public
class定义类继承默认privated,struct定义类继承默认public

成员访问权限、继承方式有3种

public:公共的,任何地方都可以访问(struct默认)

protected:子类内部、当前类内部可以访问

private:私有的,只有当前类内部可以访问(class默认)

子类内部访问父类成员的权限,是以下2项中权限最小的那个:
1.成员本身的访问权限
2.上一级父类的继承方式

若成员本身访问权限是私有,上一级父类是共有继承,依旧无法访问
C++面向对象之继承的本质
C++面向对象之继承的本质
C++面向对象之继承的本质

** 开发中用的最多的继承方式是public,这样能保留父类原来的成员访问权限**
访问权限不影响对象的内存布局

相关文章:

  • 2022-12-23
  • 2021-08-12
  • 2022-02-15
猜你喜欢
  • 2021-04-13
  • 2021-06-05
  • 2021-09-29
  • 2021-04-15
相关资源
相似解决方案