虚继承 不明确继承疑问
来源:互联网 发布:综艺游戏环节名 知乎 编辑:程序博客网 时间:2024/05/18 07:24
Derived的内存布局:
class Derive size(20):
+---
| +--- (base class Base2)
0 | | {vfptr}
4 | | {vbptr}
| +---
| +--- (base class Base3)
8 | | {vbptr}
| +---
+---
+--- (virtual base Base1)
12 | {vfptr}
16 | i
+---
Derive::$vftable@Base2@:
| &Derive_meta
| 0
0 | &Base2::f1
1 | &Derive::g1
Derive::$vbtable@Base2@:
0 | -4
1 | 8 (Derived(Base2+4)Base1)
Derive::$vbtable@Base3@:
0 | 0
1 | 4 (Derived(Base3+0)Base1)
Derive::$vftable@Base1@:
| -12
0 | &Derive::f
1 | &Derive::g
2 | &Base3::h//不注释掉virtual void h(){ cout<<"Base2::h"<<endl;},则因该处不知填入Base2::h,还是Base3::h,而编译不了。
Derive::f this adjustor: 12
Derive::g this adjustor: 12
Derive::g1 this adjustor: 0
vbi: class offset o.vbptr o.vbte fVtorDisp
Base1 12 4 4 0
有关该问题,可查看http://topic.csdn.net/u/20091028/10/da703f45-0765-4c4c-8ed2-df287a6f86a0.html
- 虚继承 不明确继承疑问
- c++虚继承疑问
- 虚继承类大小(内容有疑问?)
- C2385, C++多继承中的 new delete 不明确问题
- Java关于继承的一个小疑问
- 多继承 虚继承
- 类继承、虚继承
- 菱形继承 虚继承
- 继承,虚继承
- 继承及虚继承
- 继承与虚继承
- 继承与虚继承
- 继承(单继承、多继承、菱形继承、虚继承)
- 继承
- 继承
- 继承
- 继承
- 继承
- 中国管理模式当自强
- 网上的一道题目整理 《加上了我的注释》很值得看看
- Oracle JOB 用法小结
- Windows XP 文件/文件夹"安全"选项找不到 文件安全设置
- 向JEE项目中添加Flex配置的问题
- 虚继承 不明确继承疑问
- 用程序来模拟Alt+PrtSc的键盘事件,实现截屏功能
- GNU make 指南
- 1521 Entropy
- 深入理解OpenGL拾取模式(OpenGL Picking)
- grep 用法
- 一种可做特殊用途的字符串匹配算法
- CSS text-transform 的使用
- 丫头,我不后悔