C++内存布局(二)

C++虚继承内存布局,MSVC2010全面的验证过..

C++对象内存布局(二) 

具体可将类对象的内存布局分为以下几种情况: 1) 简单类,无虚函数、无继承 2) 简单类,无虚函数、单继承 3) 简单类,有虚函数、无继承 4) 简单类,有虚函数、单继承 5)

¾ ¾ 6)

¾ ¾

派生类、无虚函数、单继承且派生类有虚函数 派生类、无虚函数、多继承且派生类有虚函数 派生类、无虚函数、单继承且派生类无虚函数 派生类、无虚函数、多继承且派生类无虚函数

7) 派生类,有虚函数、单继承 8) 派生类,有虚函数、多继承 9) 派生类、有虚函数、虚继承 续(一)

5.派生类,有虚函数、多继承

多重继承 

下面,再让我们来看看多重继承中的情况,假设有下面这样一个类的继承关系。注意:子类只overwrite了父类的f()函数,而还有一个是自己的函数(我们这样做的目的是为了用g1()作为一个标记来标明子类的虚函数表)。而且每个类中都有一个自己的成员变量:

C++内存布局(二)相关文档

最新文档

返回顶部