关于虚继承和析构函数的一个奇怪的问题
2015-07-17 10:33
423 查看
class A{ public : int _a1; int _b; void virtual f(){}; }; class B:virtual public A{ public: int _b; ~B(){}; //line1 void virtual f(){}; //line2 void virtual f2(){}; void virtual f3(){}; void virtual f4(){}; }; int main(){ printf("A: %d\n", sizeof(A)); printf("B: %d\n", sizeof(B)); return 0; }
代码如上,为什么line1和line2同时被注释,一个注释一个不注释输出结果都是12,24,但是如果都不被注释,输出的结果是28?
哪位大牛指点一下。
相关文章推荐
- mount 命令 device 指定 none
- 1191_学术研讨会问题
- HRESULT 与 Windows Error Codes 不是一回事
- CMake 入门实战 | HaHack
- 黑马程序员---ios学习日志8
- Android ViewDragHelper完全解析 自定义ViewGroup神器
- 如何将word完整的转换成pdf文件
- 查到的一个限制只能手机访问的封装类
- centos安装python环境搭建
- hr设置颜色
- Unity3D场景管理插件Scene Manager
- Unity3D初探PoolManager插件
- Unity3D插件详细评测及教学下载
- 评:中小型团队使用Unity3D开发的困境
- echarts的后台交互
- http防盗链
- centos装新版php
- JS 中如何判断 undefined
- IOS8下地图定位的变化
- 对unity3d编辑器进行扩展的教程