忙着找工作,很久没去写自己的博客了,不过还好,工作落到了。成功的得到360offer。
ok,正题。
上一篇文章说到单继承下的虚表问题,这次来说说多重继承下的情况。
先看一个类图和实现。
这里为了区别出Dervied类型对象中父类子类的虚函数存放顺序,所以特意设置了两个虚函数,一个会被子类覆盖,一个不会。
实现体:
每一个函数中都打印一句话,以区别其它的函数。
下面是探究虚表的问题的代码了。
测试运行出来的结果如下:
根据这个结果,可以推测出,派生类Derived类型对象的虚表时怎样滴。
如下:
注意蓝色标出的,表示父类的虚函数被子类的虚函数覆盖了。最后的一个黑点,表示这是虚表内存的结束点。