C++:44---关键字virtual、override、final
生活随笔
收集整理的這篇文章主要介紹了
C++:44---关键字virtual、override、final
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、虛函數(shù)
概念:在函數(shù)前面加virtual,就是虛函數(shù)
虛函數(shù)的一些概念:
只有成員函數(shù)才可定義為虛函數(shù),友元/全局/static/構(gòu)造函數(shù)都不可以
虛函數(shù)需要在函數(shù)名前加上關(guān)鍵字virtual
成員函數(shù)如果不是虛函數(shù),其解析過程發(fā)生在編譯時而非運(yùn)行時
派生類可以不覆蓋(重寫)它繼承的虛函數(shù)
重寫(覆蓋)的概念與規(guī)則
派生類重寫(覆蓋)基類中的函數(shù),其中函數(shù)名,參數(shù)列表,返回值類型都必須一致,并且重寫(覆蓋)的函數(shù)是virtual函數(shù)
虛函數(shù)在子類和父類中的訪問權(quán)限可以不同
相關(guān)規(guī)則:
①如果虛函數(shù)的返回值類型是基本數(shù)據(jù)類型:返回值類型必須相同
②如果虛函數(shù)的返回值類型是類本身的指針或引用:返回值類型可以不同,但派生類的返回值類型小于基類返回值類型
基類與派生類的虛函數(shù)名與參數(shù)列表相同,至于參數(shù)列表為什么一致是為了避免虛函數(shù)被隱藏
函數(shù)返回值有以下要求:
總結(jié)
以上是生活随笔為你收集整理的C++:44---关键字virtual、override、final的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (一)容器从入门到深入-容器和镜像
- 下一篇: C++(STL):29 ---关联式容器