C++11 override和final是否多余?

伽利略打小怪兽 伽利略打小怪兽 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
C++Primer对这两个关键字的描述
override:C++11新标准允许派生类显示地注明 它使用某个成员函数 覆盖了它继承的虚函数。
final:有时我们会定义这样一个类,我们不希望其他类继承它,或者不想考虑它是否适合作为一个基类。...C++11新标准提供了一种防止继承发生的方法,即在类名后跟一个关键字final。

想法很美好啊,但特别新增两条语法规则有必要吗???
对于override。若我想覆盖基类的虚函数,只需从基类代码中复制相应的虚函数声明(对,就是复制,ctrl+C永远比重新敲一遍声明快速而准确),再在本类中定义就是了。至于不想覆盖,那么本类什么都不做即是。
对于final。这是什么样的项目才会有这样“奇葩”的需求:不想自己的类被继承。就算有这样的需求,C++就是为满足小众需求,却增加了其他大部分人的学习成本。

顺便吐槽一下,现在C++的学习成本太高了,对于新人,坚决不建议入坑。有那精力,把python书翻几遍,工资照样不低。
...全文

相关推荐

详谈c++11 final与override说明符

在C++11标准中,`final`和`override`是两个重要的关键字,它们用于管理类的继承和多态性,特别是在定义虚函数时。

weixin_38565818

【C++11保姆级教程】final和override

在C++编程中,我们常常需要使用继承和多态来构建复杂的程序。然而,在继承关系中,有时候我们需要对继承层次做出一些限制,确保某些类或函数不能再被继承或重写。为了解决这个问题,C++11引入了两个关键字,分别是final和override。本篇教程将向大家介绍final和override的具体用法,帮助大家更好地理解和应用这两个关键字。final和override关键字在C++中提供了对类继承和函数重写行为的额外控制。

人才程序员

详解C++成员函数的override和final说明符的用法

值得注意的是,override和final说明符都是在C++11标准中引入的,因此在使用这些特性时,编译器需要支持C++11或更高版本的标准。

weixin_38522795

cpp-netlib-0.11.1-final

它的版本 0.11.1-final 提供了一个稳定且功能丰富的接口,以支持现代 C++ 编程风格。

炽旗7

深度解析 C++ 中 final 和 override 关键字的强大功能与应用

C++ 中的 final 和 override 关键字虽然看似简单,却在类的继承与多态设计方面发挥着极为重要的作用。override 关键字通过增强编译器对虚函数重写的检查,提高了代码的安全性与可读性

2402_85758936
评论 14
收藏 已收藏
分享
返回顶部
伽利略打小怪兽
C++ 语言 65,214 成员 250,514 内容