一个类有多个基类的内存布局
来源:互联网 发布:mac os x10.10.5下载 编辑:程序博客网 时间:2024/05/16 09:11
没有虚函数时
/// @file test_class.c/// @brief 测试一个类有多个基类的内存布局(没有虚函数时, 有虚函数时)#include <stdlib.h>#include <stdio.h>class CA {public: CA() : iA(1) {} int iA;};class CB : public CA {public: CB() : iB(2) {} int iB;};class CC : public CB {public: CC() : iC(3) {} int iC;};void fnTest(){ CC a; /** 0018FEE4 01 00 00 00 .... ///< 顶层基类CA数据 0018FEE8 02 00 00 00 .... ///< 基类CB数据 0018FEEC 03 00 00 00 .... ///< 本类CC数据 */}int main(int argc, char *argv[]){ fnTest(); return 0;}
有虚函数时
/// @file test_class.c/// @brief 测试一个类有多个基类的内存布局(没有虚函数时, 有虚函数时)#include <stdlib.h>#include <stdio.h>class CA {public: CA() : iA(1) {} virtual ~CA() {} int iA;};class CB : public CA {public: CB() : iB(2) {} virtual ~CB() {} int iB;};class CC : public CB {public: CC() : iC(3) {} virtual ~CC() {} int iC;};void fnTest(){ CC a; /** 0018FEE4 1C 20 42 00 . B. ///< 本类CC虚函数表 0018FEE8 01 00 00 00 .... ///< 顶层基类CA数据 0018FEEC 02 00 00 00 .... ///< 基类CB数据 0018FEF0 03 00 00 00 .... ///< 本类CC数据 */}int main(int argc, char *argv[]){ fnTest(); return 0;}
0 0
- 一个类有多个基类的内存布局
- 一个结构体的内存布局
- 一个结构体的内存布局
- 一个c程序的内存布局
- 如何查看一个类的内存布局
- 7.6. 一个C程序的内存布局(memory layout)
- 一个C程序的内存布局(memory layout)
- 一个C程序的内存布局(memory layout)
- 一个C程序的内存布局(memory layout)
- 一个C程序的内存布局(memory layout)(转)
- 一个C程序的内存布局(memory layout)
- 【面试题】考察指针和内存布局的一个题目
- c+中如何查看一个类的内存布局
- 一个由进程内存布局异常引起的问题
- 一个由进程内存布局异常引起的问题
- 一个由进程内存布局异常引起的问题
- 一个由进程内存布局异常引起的问题
- Struct的内存布局
- Leetcode 169. Majority Element
- 【Hero
- PowerDesigner的Name和Code不同步设置
- saliency filters精读之permutohedral lattice
- KETTLE WEB管理控制台设计
- 一个类有多个基类的内存布局
- OSX: QuickLook快速预览不工作?
- BZOJ 2096: [Poi2010]Pilots|单调队列
- An Epoll example -- server and client
- JavaScript prototype 属性
- 门外汉怎么成就咨询大单(2)——北漂18年(40)
- SPAMS(稀疏和字典学习)工具箱的介绍、配置和使用
- Excel导入→JS拼出来的Table
- poj 2513 Colored Sticks 字典树+并查集+欧拉路