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

相关推荐
liwulin050617 小时前
【PYTHON-YOLOV8N】如何自定义数据集
开发语言·python·yolo
神仙别闹18 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
青蛙大侠公主18 小时前
Thread及其相关类
java·开发语言
爱吃大芒果18 小时前
Flutter 主题与深色模式:全局样式统一与动态切换
开发语言·javascript·flutter·ecmascript·gitcode
云栖梦泽18 小时前
易语言数据库操作:结构化数据管理的核心
开发语言
deng-c-f18 小时前
Linux C/C++ 学习日记(49):线程池
c++·学习·线程池
电子硬件笔记18 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
南棱笑笑生19 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21219 小时前
C++ 的容器适配器——从stack/queue看
开发语言·c++
daidaidaiyu19 小时前
FFmpeg 关键的结构体
c++·ffmpeg