美文网首页C++ 相关介绍转载
08. 纯虚函数、抽象类、多继承、菱形继承、虚

08. 纯虚函数、抽象类、多继承、菱形继承、虚

作者: ngugg | 来源:发表于2019-04-04 09:12 被阅读0次

一.虚函数


image.png image.png image.png image.png image.png

二.纯虚函数

image.png image.png image.png image.png image.png image.png

三,虚析构函数


image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

四.纯虚函数


image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

五,多继承

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

六.多继承-虚函数

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

七.菱形继承

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

八. 虚继承


image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png

9.实践
1.普通继承方式

image.png image.png

类对象的内存空间布局,父类的成员变量,在子类的成员变量前面,

2.virtual 继承

image.png image.png

类对象的内存空间布局,前4个字节位虚表地址,接下来的4个字节为子类的成员变量,最后的4个字节为父类的成员变量

  1. virtual 菱形继承
image.png image.png image.png image.png
  1. 在虚继承的方式下,查看对象虚表里面存放的数据,单继承
image.png image.png image.png
  1. 在虚继承的方式下,查看对象虚表里面存放的数据,菱形继承
image.png image.png image.png image.png

student的虚表

image.png

worker的虚表

image.png

相关文章

  • 08. 纯虚函数、抽象类、多继承、菱形继承、虚

    一.虚函数 二.纯虚函数 三,虚析构函数 四.纯虚函数 五,多继承 六.多继承-虚函数 七.菱形继承 八. 虚继承...

  • 纯虚函数、抽象类、多继承、菱形继承、虚继承、虚基类

    纯虚函数:没有函数体且初始化为0的虚函数,用来定义接口规范 抽象类(Abstract Class)含有纯虚函数的类...

  • ★01.基础概念

    抽象类:含有虚函数的类。 抽象基类:含有纯虚函数的类。 虚基类:多重继承中虚继承的基类。 类静态数据成员的定义必须...

  • C++ 类-2

    虚函数 virtual 修饰有纯虚函数的类叫做抽象类只能被继承不能被实例化。

  • C++语言-多态,纯虚函数,模版函数

    1、虚函数、纯虚函数 需要注意的是,纯虚函数子类是必须继承的,虚函数不是不必须继承的。 2、多态 在C++中默认关...

  • 纯虚函数和抽象类

    纯虚函数和抽象类 概念 纯虚函数:没有函数体的虚函数。 抽象类:包含纯虚函数的类就称为抽象类。 纯虚函数就是在函数...

  • 11-11 继承

    虚函数 多态 出现菱形继承,上两条表用虚拟继承,其他两条边随意—————————————————————— ——...

  • 虚函数和非虚函数

    接口继承和实现继承 public继承下,派生类总是继承基类的接口。 纯虚函数必须被派生类重新声明,通常在抽象类中没...

  • 虚函数

    虚函数 Inheritance (继承) with virtual functions (虚函数) 非虚函数:继承...

  • MNN 构建后端

    添加一个后端需要去继承Backend抽象类,并实现所有纯虚函数。 onCreate函数Backend需要通过onC...

网友评论

    本文标题:08. 纯虚函数、抽象类、多继承、菱形继承、虚

    本文链接:https://www.haomeiwen.com/subject/zrktiqtx.html