2013-03-27 125 views

回答

1

當您在基類中將函數定義爲虛函數時,即使您正在使用對基類的引用,也是向編譯器指示您希望派生類中的函數能夠運行。這會導致運行時決定。

如果基類函數不是虛擬的,那麼運行哪個函數取決於引用。這是編譯時決定。

虛擬函數用於在面向對象設計中實現多態。多數情況下,如果在派生類中存在相同名稱的函數時,未能將基類中的函數標記爲虛擬函數,那就是一個錯誤。這就是大多數編譯器將這標記爲警告的原因。

相關問題