Cpp 11 / override 和 final 区别
生活随笔
收集整理的這篇文章主要介紹了
Cpp 11 / override 和 final 区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、override
1、誕生原因
C++ 中,有時繼承關系較復雜時,基類和派生類各自的虛函數(shù)較多,導致開發(fā)人員傻傻地分不清哪些是重寫了基類的虛函數(shù),哪些是本派生類特有的虛函數(shù)。為了解決上述問題,添加了 virtual 描述符 override。
2、作用
該標識符表示開發(fā)人員與編譯器產(chǎn)生約定:該標識符描述的函數(shù)必須是基類的虛函數(shù),即:同名又同參,否則編譯器無法通過。有了該關鍵字,派生類就可以分清哪些虛函數(shù)是重寫了基類的虛函數(shù),哪些虛函數(shù)是自己新建立的。
3、注意
該標識符不是關鍵字。
二、final
1、誕生原因
在 C++ 中,有時有如下需求:
-
當前的類不要被其他開發(fā)人員繼承;
-
基類的虛函數(shù)在本類重寫完之后止,不想被子類再重寫。
2、作用
為了達到上述目的,C++ 11引入標識符 final,其作用如下:
-
放在類定義的后面,表示當前類不能被繼承;
-
放在虛函數(shù)的后面,表示子類不能重寫該虛函數(shù)。
3、注意
該標識符不是關鍵字。
?
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的Cpp 11 / override 和 final 区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/Cpp / 设计模式 / 模板模式
- 下一篇: Cpp / shared_ptr