C++基础 (6) 第六天 继承 虚函数 虚继承 多态 虚函数





继承是一种耦合度很强的关系 和父类代码很多都重复的
2 继承的概念

3 继承的概念和推演
语法:
class 派生类:访问修饰符 基类



代码:

… …
4 继承方式与访问控制权限

相对的说法:
爹派生
儿子继承

子类虽然看起来是在父类的基础上增加了一些东西
但实际上子类和父类是完全独立的两个东西


5 继承方式的练习

…

…

…
6 继承类的兼容性原则

子类空间比父类空间大

7 利用兼容性原则的传参方式


声明一个父类的指针 子类都可以使用
声明一个父类的指针 子类都可以使用
8 继承中的构造析构顺序




结论:子类在进行初始化成员变量的时候,如果此成员变量是继承过来的,那么需要调用父类的构造器来初始化

9 当子类中有和父类重名的变量

如果想访问父类中的a需要加上父类的作用域,否则调用的是子类中覆盖的a
10 继承中的static成员



static不仅要在内部声明 也要在外部进行初始化
11 多继承的基本概念




12 多继承和虚继承

需要使用虚继承


(这里b不知道是哪个的,产生二义性

(编译器干的事情)
13 中午回顾
14 多态的基本概念




多态:可以用父类指针调用子类的方法,前提是(子类重写父类的虚函数

15 多态小案例练习


16 多态的成立条件



17 动态联编和静态联编



加virtual关键字告诉编译器这块先别给我绑定 来个晚绑定,如果不加virtual就是静态联编了
18 虚析构函数





加上virtual关键字后正常了

19 重载重写重定义
重载 名字和返回值一样的两个函数
重写 (虚函数 加vitrual 两个类中
重定义 两个类中
==========================================
// 2020.06.12 理解 继承的本质是申请与父类相同大小空间的结构体

浙公网安备 33010602011771号