更新:用直線方法調用示例替換了析構函數示例。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