天天看點

C++純虛函數實作

純虛函數就是一個在基類中的虛函數,差别隻是在一般的虛函數聲明的後面加了“=0”,虛函數允許函數通過與函數體之間的聯系在運作時才建立,也就是在運作時才決定如何動作,稱為運作時的多态性,虛函數是可以有具體實作代碼的。那麼,為什麼要有純虛函數?在基類中的函數隻有說明而沒有具體定義的時候,不執行有意義的操作,也沒有具體去實作代碼,于是在派生類中就可以實作具體的操作,無論是單繼承也好,還是多繼承也好,重新定義這個在基類聲明的函數,這個函數的實作可以根據需求去實作,咱們來看一個例子:

狗類是動物類的派生類,動物類作為基類,沒有具體實作setdog和show方法,在狗類中實作了這兩個方法,這兩個方法也被稱之為派生類的虛函數。

通過指針ptr指向派生類對象,調用派生類對象的虛函數。

運作結果:

Dog name:HUAHUA

Dog age:3

Dog sex:Y

Dog score:66

繼續閱讀