C++语言程序设计

但是如果派生类中有自己的虚函数，那么VTABLE将是什么结构呢？我们举个例子来说明：

| 例11-21

class A
{
public:
int a;
A():a(0){}
virtual void func1(){}
virtual void func2(){}
};

class B ：public A
{
public:
int a;
B():a(0){}
virtual void func1(){}
virtual void func2(){}
virtual void func3(){}
};

class C ：public B
{
public:
int a;
C():a(0){}
virtual void func1(){}
virtual void func3(){}
};

这三个类的VTABLE表是下面的情况：

| 表11-2

类A | 类B | 类C
A::func1 | B::func1 | C::func1
A::func2 | B::func2 | B::func2
. | B::func3 | C::func3