C++ 关键字override,final的作用

文章目录

  • 一、为什么要引入这两个关键字?
    • 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

你可能感兴趣的:(C++学习,c++,java,开发语言)