C++纯虚函数和抽象类
生活随笔
收集整理的這篇文章主要介紹了
C++纯虚函数和抽象类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基本概念
純虛函數和抽象類
- 純虛函數是一個在基類中說明的虛函數,但是在基類中沒有定義,要求任何派生類都定義自己的版本
- 純虛函數為個派生類提供一個公共界面(接口的封裝和設計、軟件模塊功能的劃分)
- 純虛函數定義形式: virtual 類型 函數名(參數表)=0;
- 一個具有純虛函數的基類稱為抽象類
抽象類的點:
- 抽象類不能建立對象
- 可以聲明抽象類的指針
- 抽象類不能作為函數的返回類型
- 抽象類不能作為函數的參數
- 可以聲明抽象類的引用
絕大多數面向對象語言都不支持多繼承
絕大多數面向對象語言都支持接口的概念
C++中沒有接口的概念
C++中可以使用純虛函數實現接口
接口類中只有函數原型定義,沒有任何數據的定義
實際工程經驗證明
多重繼承接口不會帶來二義性和復雜性等問題
多重繼承可以通過精心設計用單繼承和接口來代替
接口類只是一個功能說明,而不是功能實現。
子類需要根據功能說明定義功能實現
總結
以上是生活随笔為你收集整理的C++纯虚函数和抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中的虚继承
- 下一篇: libevent事件驱动库的学习视频教程