内容概要:
满足下面2个条件时,
1. 父类无虚函数,子类有虚函数
2. 非虚继承
类对象之内存布局
前篇:http://blog.csdn.net/pathuang68/archive/2009/04/23/4101977.aspx
如果将Base中的两个虚函数删除,情况有会怎么样呢?
将Base中的两个虚函数删除,其他保持不变。Base类和Derived类两者之间的关系如下:
运行结果如下:
Derived对象的memory layout图解如下:
这次由于Base类中不存在虚函数,所以在Derived类对象中的Base subobject就不会有vptr了,但Derived类中有虚函数,所以它的对象中就有vptr了。
后篇:http://blog.csdn.net/pathuang68/archive/2009/04/23/4101981.aspx