继承

继承是面向对象三大特性之一
有些类与类之间存在特殊关系

继承的基本语法

继承的好处:减少重复代码
语法:class 子类 :继承方式 父类
子类 也称为 派生类
父类 也称为 基类

继承方式

继承方式一共有三种:

  1. 公共继承
  2. 保护继承
  3. 私有继承
    C++之对象模型三-继承
继承中的对象模型
  1. 父类中的所有非静态成员属性都会被子类继承下去
  2. 父类的私有成员属性 是被编译器隐藏了 因此是访问不到的,但全部都被继承了
    利用开发人员命令提示工具查看对象模型
    cl /d1 reportSingleClassLayout类名 文件名
继承中的构造和析构顺序
  1. 先构造父类,再构造子类
  2. 先析构子类,再析构父类
继承中同名成员处理方式
  1. 访问子类同名成员 直接访问
  2. 访问父类同名成员 加上父类的作用域
继承同名静态成员处理方式
  1. 访问子类同名成员 直接访问
  2. 访问父类同名成员 加上父类的作用域
多继承语法
  1. 语法:class 子类 : 继承方式 父类1,继承方式 父类2 …
  2. 多继承会出现成员同名的情况 添加作用域进行访问
菱形继承

菱形继承概念

  1. 两个派生类继承同一个基类
  2. 又有某个类同时继承了两个派生类
  3. 利用虚继承可以解决菱形继承的问题 在继承之前加上:virtual 关键字 变为虚继承

相关文章: