c++中的final说明符

final是c++11引入的说明符,可以修饰在类或者类成员函数尾部。

final修饰类时,表示该类不能被继承。

cpp 复制代码
class A final 
{
};

上例表明,类A是一个不能被继承的类。

cpp 复制代码
class A {
public:
  virtual void bar();
};

class B final: public A {
public:
  void bar() override; 
};

类B继承了类A,类B是一个不能被继承的类,因为它有final修饰符。

final修饰类成员函数时,声明了成员函数是一个虚函数,且该虚函数不可在派生类中被覆盖。

cpp 复制代码
class A {
public:
  virtual void bar();
};

class B : public A {
public:
  void bar() override final; 
};

类B继承了类A,类B也可以被其它类继承。但是类B中的成员函数bar(),不能被它的子类重写,因为该函数有final修饰。

相关推荐
你不是我我6 分钟前
【Java 开发日记】我们来说一说 Redis IO 多路复用模型
java·开发语言·redis
想七想八不如114087 分钟前
408操作系统 PV专题
开发语言·算法
浩瀚地学9 分钟前
【Java】ArrayList
java·开发语言·经验分享·笔记
明洞日记11 分钟前
【VTK手册019】 深入理解 vtkProperty:从几何表达到 PBR 物理渲染
c++·图像处理·算法·vtk·图形渲染
阿杰同学17 分钟前
Java 设计模式 面试题及答案整理,最新面试题
java·开发语言·设计模式
这样の我17 分钟前
java 模拟chrome指纹 处理tls extension顺序
java·开发语言·chrome
yong999019 分钟前
基于MATLAB的雷达压制干扰仿真
开发语言·matlab
汉克老师19 分钟前
2025年海淀区中小学信息学竞赛复赛(小学组试题第六题 蜂窝网络 (net))
c++·贪心算法·北京海淀中小学信息学竞赛·lower_bound
xiaoye-duck21 分钟前
C++入门基础指南:命名空间namespace
c++