Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116180
  • 博文数量: 153
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 882
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-12 10:39
个人简介

不积小流,无以成江海。

文章分类

全部博文(153)

文章存档

2023年(50)

2022年(90)

我的朋友

分类: C/C++

2022-07-04 09:41:46

原文地址:c.biancheng.net/cplus/c2cpp

自己不咋熟C++,需要观摩学习下。

https://blog.csdn.net/brewin/article/details/79249609
注意原理的描述:


编译器会把虚表编译成上面的样式,注意两件事情:

第一,   虚函数表在类所有成员的最前面。

第二,   第二,Sub因为重写了toString,Sub的虚函数表就记录者Sub的toString的地址。

上面的程序Super* s = new Sub();

s实际指向的是Sub类对象的内存区域,所以调用方法的时候会根据这片内存记录的函数地址进行调用,多态就是这么实现的。

注:摘录完毕

阅读(1016) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~