我正嘗試完成其在上一個問題中描述的一樣:從基類構造函數調用派生類的虛函數?
virtual function call from base class
但是,我真正的問題是:
如果什麼f()是在基類的構造函數?哪個g()會被調用?我不知道我是否做錯了,但在我的程序中,似乎恰恰相反。
從以前的問題,以相同的變量,這說明這種
行爲看起來像這樣的代碼:
Class Base
{
Base(){g();};
virtual void g(){//Do some Base related code;}
};
Class Derived : public Base
{
Derived(){};
virtual void g(){//Do some Derived related code};
};
int main()
{
Derived newDerived;
return 0;
}
更新:
感謝名單,以納文。
他向我提供了一個頁面,其中包含有關此主題的所有相關信息。
I'll讓你知道這裏的鏈接:
parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.6
你能展示一些展示這種行爲的示例代碼嗎? – jtbandes