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