虚函数和抽象函数的区别
虛函數(shù)是有代碼的并明確允許子類去覆蓋,但子類也可不覆蓋,就是說可以直接用,不用重寫??? 抽象函數(shù)是沒有代碼,子類繼承后一定要重寫
在一個(gè)類中用虛函數(shù):??? 是因?yàn)樵诔愔械挠袑?shí)際代碼的方法,但明確允許子類可以作重寫??? 而且當(dāng)子類重寫后,可以用子類實(shí)例超類;如果這樣,超類變量調(diào)用虛函數(shù)時(shí),執(zhí)行的是子類的方法??? ???? 在一個(gè)類中用抽象函數(shù)??? 是在寫超類時(shí)不確定函數(shù)的代碼,讓子類去實(shí)現(xiàn)??? 抽象函數(shù)沒有方法體。
?
?
簡(jiǎn)單來說虛函數(shù)(Virtual)已經(jīng)包含了也必須包含默認(rèn)的實(shí)現(xiàn),所以在派生類中可以重新實(shí)現(xiàn)也可以不實(shí)現(xiàn)這些虛函數(shù)。 抽象函數(shù)(abstract)沒有提供默認(rèn)實(shí)現(xiàn),所以在派生類中必須實(shí)現(xiàn)這些抽象函數(shù)。 接口中的函數(shù)類似于抽象函數(shù),也不提供默認(rèn)實(shí)現(xiàn),實(shí)現(xiàn)接口的類也必須實(shí)現(xiàn)這些函數(shù)。 但接口可用于多繼承,即,類只能從一個(gè)類繼承,但可同時(shí)實(shí)現(xiàn)多個(gè)接口。
轉(zhuǎn)載于:https://www.cnblogs.com/eart/p/3682301.html
總結(jié)
以上是生活随笔為你收集整理的虚函数和抽象函数的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无法识别system.web.exten
- 下一篇: Eclipse报错:!!MESSAGE