C++11引入这两个关键字
一、为什么要引入这两个关键字?
1.虚函数复写
- 不能阻止某个虚函数进一步重写
- 本意写一个新函数,错误重写基类虚函数(子类中 virtual 关键字可省略)
- 本意重写基类虚函数旦是签名不一致,在子类中重新构建了一个新的虚函数
2. 类继承
- 不能阻止某个类进一步派生
二、override
- 指定子类一个虚函数复写基类的一个虚函数
- 保证该重写的虚函数与基类的虚函数具有相同的签名
三、final
- 指定某个虚函数不能在派生类中被覆盖,或者某个类不能被派生
- 阻塞类进一步派生
- 阻塞虚函数进一步重写
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs