background image

请注意,在这个继承关系中,子类没有重载任何父类的函数。那么,在派生类的实例中,

 

其虚函数表如下所示:
对于实例:Derive d; 的虚函数表如下:

图 3
我们可以看到下面几点:
1

2

 

)父类的虚函数在子类的虚函数前面。

 

我相信聪明的你一定可以参考前面的那个程序,来编写一段程序来验证。

 

一般继承(有虚函数重载)
重载父类的虚函数是很显然的事情,不然,虚函数就变得毫无意义。下面,我们来看一下,
如果子类中有虚函数重载了父类的虚函数,会是一个什么样子?假设,我们有下面这样
的一个继承关系。

图 4
为了让大家看到被继承过后的效果,在这个类的设计中,我只重载了父类的一个函数:
f()。那么,对于派生类的实例,其虚函数表会是下面的一个样子: