總結虛函數(shù) 抽象函數(shù)
虛函數(shù)是有代碼的并明確允許子類去覆蓋,但子類也可不覆蓋,就是說可以直接用,不用重寫???
抽象函數(shù)是沒有代碼,子類繼承后一定要重寫
在一個類中用虛函數(shù):???
是因為在超類中的有實際代碼的方法,但明確允許子類可以作重寫???
而且當子類重寫后,可以用子類實例超類;如果這樣,超類變量調(diào)用虛函數(shù)時,執(zhí)行的是子類的方法???
????
在一個類中用抽象函數(shù)???
是在寫超類時不確定函數(shù)的代碼,讓子類去實現(xiàn)???
抽象函數(shù)沒有方法體。
?
?
簡單來說虛函數(shù)(Virtual)已經(jīng)包含了也必須包含默認的實現(xiàn),所以在派生類中可以重新實現(xiàn)也可以不實現(xiàn)這些虛函數(shù)。?
抽象函數(shù)(abstract)沒有提供默認實現(xiàn),所以在派生類中必須實現(xiàn)這些抽象函數(shù)。?
接口中的函數(shù)類似于抽象函數(shù),也不提供默認實現(xiàn),實現(xiàn)接口的類也必須實現(xiàn)這些函數(shù)。?
但接口可用于多繼承,即,類只能從一個類繼承,但可同時實現(xiàn)多個接口。
2019-09-09
總結虛函數(shù) 純虛函數(shù)
虛函數(shù)指在函數(shù)聲音時加上關鍵字virtual, 目的是為了給子類對象復寫或者調(diào)用,從而實現(xiàn)多態(tài);
純虛函數(shù)通常在接口類中定義, 只有聲明,沒有實現(xiàn),并且給它賦值為0.這種函數(shù)在被子類繼承時需要實現(xiàn)該方法,不能直接調(diào)用。
2019-09-09
總結的不錯