文章目录
- 一、为什么要引入这两个关键字?
- 1.虚函数复写
- 2. 类继承
- 二、override
- 三、final
C++11引入这两个关键字
一、为什么要引入这两个关键字?
1.虚函数复写
-
不能阻止某个虚函数进一步重写
-
本意写一个新函数,错误重写基类虚函数(子类中 virtual 关键字可省略)
-
本意重写基类虚函数旦是签名不一致,在子类中重新构建了一个新的虚函数
2. 类继承
- 不能阻止某个类进一步派生
二、override
- 指定子类一个虚函数复写基类的一个虚函数
- 保证该重写的虚函数与基类的虚函数具有相同的签名
三、final
- 指定某个虚函数不能在派生类中被覆盖,或者某个类不能被派生
- 阻塞类进一步派生
- 阻塞虚函数进一步重写
推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:
C++初级课程链接:
https://ke.qq.com/cozurse/444655?flowToken=1043280
Qt课程链接:
https://ke.qq.com/course/444655?flowToken=1044614