【发布时间】:2015-08-27 09:19:57
【问题描述】:
将为不具有任何虚函数的派生类创建虚拟表,但父类是一个未被派生类覆盖的虚函数。
例如:
class A{
public:
virtual void show();
};
class B : public A
{
};
B类的虚表怎么样。
【问题讨论】:
-
哪个编译器?标准 C++ 不知道 vTable 是什么。
-
你为什么关心这个?它有什么不同?
-
我只是对虚拟表以及我们需要虚拟表来实现动态多态性的所有情况感到好奇。
-
我认为我们也需要 B 类的虚拟表。如果我们继承类 B 并覆盖函数 show,则它是必需的。在这种情况下,我们需要一个虚拟表来确定我们必须在运行时使用基类 A 指针调用哪个函数。
标签: c++ inheritance polymorphism