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

相关推荐
小老鼠不吃猫4 小时前
深入浅出(十三)QWT库——高稳定二维绘图
c++·qt·二维图
无忧.芙桃4 小时前
AVL树的实现
数据结构·c++
下北沢美食家4 小时前
Express框架入门
开发语言·javascript·express
遥望九龙湖4 小时前
打包动态库
开发语言·c++·visualstudio
tankeven4 小时前
HJ101 排序
c++·算法
m0_531237174 小时前
C语言-编程实例2
c语言·开发语言
dreams_dream4 小时前
Python 的 GIL 是什么?有什么影响?
开发语言·python
不想看见4044 小时前
01 Matrix 基本动态规划:二维--力扣101算法题解笔记
c++·算法·leetcode
麻瓜pro5 小时前
【迭代】高性能c++实时对话系统e2e_voice
开发语言·c++·onnxruntime·端到端语音
zjxtxdy5 小时前
C语言(续)
c语言·开发语言