【C++11特性篇】C++11中の【override】【final】关键字——帮助用户检测是否重写

前言

大家好吖,欢迎来到 YY 滴C++系列 ,热烈欢迎! 本章主要内容面向接触过C++的老铁

主要内容含:

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

目录

一.【override】【final】关键字------帮助用户检测是否重写(C++11)

  • 从上面可以看出,C++对函数重写的要求比较严格,但是有些情况下由于疏忽,可能会导致函数
    名字母次序写反而无法构成重载,而这种错误在编译期间是不会报出的,只有在程序运行时没有
    得到预期结果才来debug会得不偿失,因此:C++11从两个角度提供了overridefinal两个关键字,可以帮
    助用户检测是否重写。
  • final:表示虚函数不能被重写,被重写即报错
  • override:检查虚函数是否重写了别的虚函数,重写了即报错

【1】 final:表示虚函数不能被重写,被重写即报错

cpp 复制代码
class Car
{
public:
 virtual void Drive() final {}
};
class Benz :public Car
{
public:
 virtual void Drive() {cout << "Benz-舒适" << endl;}
};

【2】override:检查虚函数是否重写了别的虚函数,重写了即报错

cpp 复制代码
class Car{
public:
 virtual void Drive(){}
};
class Benz :public Car {
public:
 virtual void Drive() override {cout << "Benz-舒适" << endl;}
};

二.继承博客相关传送门

相关推荐
做个文艺程序员1 小时前
第04篇:K8s 弹性伸缩实战:HPA、VPA、KEDA——Java SaaS 应对流量洪峰的秘密武器
java·容器·kubernetes·弹性伸缩·自动扩容·ai 推理伸缩
王老师青少年编程4 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝案例实践1)
c++·csp·高频考点·信奥赛·提高组·搜索剪枝·小木棍
weelinking5 小时前
【产品】12_接入数据库——让数据永久保存
jvm·数据库·python·react.js·数据挖掘·前端框架·产品经理
石山代码5 小时前
ArrayList / HashMap / ConcurrentHashMap
java·开发语言
AskHarries6 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
gsls2008086 小时前
JVM 堆内存参数 & Docker 容器适配,一次讲清楚
jvm·docker·容器
daidaidaiyu7 小时前
ThingsBoard 规则链系统源码分析和自定义定时器
java
小毛驴8507 小时前
spring-boot-maven-plugin,maven-compiler-plugin 功能对比
java·python·maven
csdn_aspnet7 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
王老师青少年编程7 小时前
信奥赛C++提高组csp-s之搜索进阶(搜索剪枝核心思想 )
c++·dfs·csp·信奥赛·搜索剪枝·搜索优化