多重继承与虚函数
创始人
2025-05-31 16:13:26

多重继承与虚函数联系起来会出现很多的问题:

1.继承类有几份虚表?

2.继承类新添加的虚函数会放到基类1的虚表?还是基类2的虚表?还是都放?

3.将基类对象指针动态转化为基类指针的大概过程?

我们通过下面的例子来一一解答:

两个基类Base1,Base2,一个派生类Test公有继承这两个类,既有重写的虚函数,也有新添加的虚函数

1.继承类有几份虚表?

我们运行一下程序来看一下监视器:

结论:当派生类继承了多少个基类,就会有几份虚表。

2.继承类新添加的虚函数会放到基类1的虚表?还是基类2的虚表?还是都放?

结论:继承类中新添加的虚函数只会添加到第一个继承的基类的虚表之中

3.将基类对象指针动态转化为基类指针的大概过程?

将先继承的基类指针动态转化为继承类指针

将后继承的基类指针动态转化为继承类指针

总结:

  1. 在多重继承中,继承类共有继承个数个虚表

  1. 继承类新添加的虚函数会放在第一个继承的基类虚表中

  1. 在多重继承中,将基类指针动态转化为继承类指针时

先去查看此基类对象的虚表,判断是否可以转化

如果不可以:返回NULL

如果可以:

①获取指针偏移量信息(type_info类型信息中保存)

②将指针向上偏移偏移量大小的字节,并返回

相关内容

热门资讯

4家“中国英伟达”抢着上市 订阅 快刀财经 ▲ 做您的私人商学院各显神通的中国AI芯片。作者:奇偶工作室来源: 奇偶工作室(ID...
“招商系”老将王颖获批担任招商... 近日,国家金融监督管理总局深圳监管局(下称“深圳金融监管局”)发布行政许可批复,正式核准王颖招商信诺...
平安人寿临时提案遭华夏幸福否决... 中国平安(601318.SH)与华夏幸福(600340.SH)之间的百亿纠葛再度升级。继12月17日...
MiniMax递表,把大模型公... 文 / 王浩纯来源 / 节点财经在香港中环的金融心脏地带,一场关于中国 AI 未来的资本竞速正在悄然...
年入10亿的网红按摩仪,要IP... “健康焦虑”这个赛道,挺魔幻的。作者 |渡尘来源 |投资家(ID:touzijias)“健康焦虑”这...