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

相关推荐
敲上瘾23 分钟前
Linux系统C++开发环境搭建工具(二)—— etcd 使用指南
linux·c++·etcd
流星白龙25 分钟前
【Qt】1.安装QT
开发语言·qt
励志不掉头发的内向程序员27 分钟前
【Linux系列】解码 Linux 内存地图:从虚拟到物理的寻宝之旅
linux·运维·服务器·开发语言·学习
深盾科技1 小时前
C/C++逆向分析实战:变量的奥秘与安全防护
c语言·c++·安全
superxxd2 小时前
跨平台音频IO处理库libsoundio实践
开发语言·qt·音视频
ajassi20004 小时前
开源 C++ QT QML 开发(二十)多媒体--摄像头拍照
c++·qt·开源
_OP_CHEN4 小时前
C++基础:(十二)list类的基础使用
开发语言·数据结构·c++·stl·list类·list核心接口·list底层原理
ONE_PUNCH_Ge7 小时前
Go 语言变量
开发语言
幼稚园的山代王7 小时前
go语言了解
开发语言·后端·golang
晚风残7 小时前
【C++ Primer】第六章:函数
开发语言·c++·算法·c++ primer