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修饰。

相关推荐
二川bro9 分钟前
模型部署实战:Python结合ONNX与TensorRT
开发语言·python
联系QQ:2769988514 分钟前
电化学与冷启动仿真的赝电容计算及GITT扩散系数研究——阻抗分析拟合与全电池电容器性能评估
开发语言
言言的底层世界38 分钟前
c++中STL容器及算法等
开发语言·c++·经验分享·笔记
Mr_WangAndy1 小时前
C++17 新特性_第一章 C++17 语言特性___has_include,u8字符字面量
c++·c++40周年·c++17新特性·__has_include·u8字面量
liu****1 小时前
八.函数递归
c语言·开发语言·数据结构·c++·算法
韭菜钟1 小时前
在Qt中使用QuickJS
开发语言·qt
Vanranrr1 小时前
C++临时对象与悬空指针:一个导致资源加载失败的隐藏陷阱
服务器·c++·算法
β添砖java1 小时前
python第一阶段第六章python数据容器
开发语言·python
YouEmbedded1 小时前
解码C++基础——从C到C++
开发语言·从c到c++
yong99902 小时前
基于多普勒连续波雷达原理的MATLAB测速程序
开发语言·matlab