派生類的函數和基類的函數同名時應該派生類的的遮蔽基類的,為什麼這個程序最後運行的是基類的函數?
因為樓主基類的display函數不是虛函數
C++重要性質:
1、如果你以一個"基類之指針"指向一個"派生類之對象",那麼經由該指針你只能調用該基類所定義的函數
2、如果你以一個“派生類之指針”指向一個“基類之對象”,你必須先做明顯的轉型操作(explicit cast),這種作法很危險。B* b = (B*)&A_obj;
3、如果基類和派生類都定義了“相同名稱之函數”,那麼通過對象指針調用成員函數時,到底調用了那個函數,必須視該指針的原始類型(B)而定,而不是視指針實際所指的對象的類型而定,這與第1點其實意義相通