更新:用直线方法调用示例替换了析构函数示例。C++继承/ VTable问题
嗨,
如果我有以下代码:
class a
{
public:
virtual void func0(); // a has a VTable now
void func1();
};
class b : public a
{
public:
void func0() { a::func0(); }
void func2();
};
- 是否有虚函数表B中? B没有虚函数,但从b :: func0()调用:: func0()
- func1驻留在VTable中吗?这不是虚拟的。
- func2是否驻留在VTable中?
- 如果b :: func0()中没有a :: func0()调用,上面的答案会不同吗?
感谢
如果你在这样的问题中告诉你正在使用什么编译器,我会很高兴。虚拟表格是特定于实现的,尽管要努力将其格式标准化。 – 2009-09-05 16:08:53
'b :: func0' **是**虚拟 – 2009-09-05 18:02:38