抽象基類與純虛函數(shù)

因為呢,含有純虛函數(shù)的類才叫做基類。所以我們先看看純虛函數(shù)。

純虛函數(shù)

1.什么是純虛函數(shù)?
首先呢,要清楚一點的就是純虛函數(shù)一般情況下只有申明,沒有定義。因為純虛函數(shù)出現(xiàn)的意義就是為了告訴那些碼農們,這個函數(shù)是沒有實際意義的。虛函數(shù)的定義其實很簡單,只需要在定義該函數(shù)的聲明語句的分號之前加“=0”就可以將一個虛函數(shù)說明為虛函數(shù),這塊兒需要注意了,你得先是虛函數(shù),才能是純虛函數(shù)。

  1. 純虛函數(shù)的一些特性
    2.1 首先 =0 只能出現(xiàn)在類內部的虛函數(shù)聲明語句處。
    2.2 需要注意的是,我們也可以為純虛函數(shù)提供定義,不過定義的函數(shù)體必須放在類的外部。因為我們不能在類的內部為一個=0的函數(shù)提供函數(shù)體。
  2. 純虛函數(shù)的意義
    我們在實際的項目中會碰上這樣一種需求,基類中聲明并且定義了一個虛函數(shù),基類的第一層派生了繼承了這個虛函數(shù),而此時的這個類并不做具體的是實現(xiàn),而是它的派生類去作具體的實現(xiàn)。太繞了,舉個例子說明:
    比如說超市的銷售。定義一個基類Base,收費的函數(shù)實現(xiàn)就是單價乘以個數(shù)。但是單超市想搞促銷活動的話,就得繼續(xù)實現(xiàn)了。首先促銷都活動有倆種:一種是庫存小于某個值時,恢復原價,另一種是根據(jù)顧客得購買量來打折。這樣得話就需要實現(xiàn)一個類,它得主要作用就是增加庫存值和購買超過量這倆個值。然后再派生倆各類來具體實現(xiàn)這倆種打折方案。其中這個類,是肯定不希望去亂初始化得,因為沒有意義。

抽象基類

1.什么是抽象基類?
含有純虛函數(shù)的類就叫做抽象基類。
2.基類的一些注意事項
抽象基類是不能創(chuàng)建對象的。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容