當我有這樣的事情,當我有a* mya=new c();
,我稱之爲a->displayStuff
它調用Class a
方法,當virtual
是Class a
而不是Class b
,它調用Class b
方法。虛函數
由於Class c
沒有實現此方法,因此此處應用了什麼規則?
class a
{
public:
void displayStuff() {}
//other methods
};
class b:public a
{
public:
virtual void displayStuff() {}
//other methods
};
class c:public b
{
//other methods
};
你爲什麼要這樣做?這隻會讓任何想要使用類層次結構的人感到困惑。請記住,你應該編寫代碼,假設一個斧頭的瘋子最終會支持它。 – Sean
我有一個考試,噢相信我,我們的教授會問我們這樣的問題:) – user2949483