c++是什么 C 中父類的虛函數(shù)必須要實現(xiàn)嗎?
C 中父類的虛函數(shù)必須要實現(xiàn)嗎?實例化類的虛擬函數(shù)必須有一個定義。如果只定義了具有虛函數(shù)的類而沒有實現(xiàn)虛函數(shù),則類編譯可以通過!R純虛函數(shù)出現(xiàn)在接口類中,賦值為0,不要為函數(shù)賦值函數(shù)地址,以免類實例
C 中父類的虛函數(shù)必須要實現(xiàn)嗎?
實例化類的虛擬函數(shù)必須有一個定義。如果只定義了具有虛函數(shù)的類而沒有實現(xiàn)虛函數(shù),則類編譯可以通過!R純虛函數(shù)出現(xiàn)在接口類中,賦值為0,不要為函數(shù)賦值函數(shù)地址,以免類實例化!純虛函數(shù)沒有定義,如果實現(xiàn)的不是純虛函數(shù)!R一般成員函數(shù)只能聲明,前提是不能在應(yīng)用程序中調(diào)用該函數(shù),否則會因為找不到定義而發(fā)生連接錯誤
為什么要用虛函數(shù)?
當使用基類指針指向不同派生類的對象時,如果基類指針調(diào)用其虛成員函數(shù),它將調(diào)用實際指向?qū)ο蟮某蓡T函數(shù),而不是基類中定義的成員函數(shù)(只要派生類重寫成員函數(shù))。如果它不是虛函數(shù),則無論基類指針指向哪個派生類對象,都將調(diào)用在基類中定義的函數(shù)。