最近研究了一下,C++继承的内存对象模型。主要是读了读http://blog.csdn.net/haoel/article/details/3081328(C++ 对象的内存布局)。很推荐这篇文章。
对这篇文章做了做总结。本文的大部分内容来自于这篇文章中的总结http://blog.csdn.net/haoel/article/details/3081328(C++ 对象的内存布局)。
分为四种情况:
1.单继承
2.多继承(不含钻石继承)
3.非虚继承的钻石继承
4.虚继承的钻石继承
注:下面所有类中的函数都是虚函数。
1.单继承
单继承体系如下:
GrandChild对象的内存布局: