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

相关推荐
liu****13 小时前
29.路径类dp
c++·算法·acm
阿猿收手吧!13 小时前
【C++】C++模板特化:精准定制泛型逻辑
开发语言·c++·算法
ghie909014 小时前
MATLAB中编写不平衡磁拉力方程
开发语言·matlab
C语言小火车14 小时前
Qt样式实现方式详解:六大方法全面解析
c语言·c++·qt·学习
weixin_4521595514 小时前
C++与Java性能对比
开发语言·c++·算法
会叫的恐龙14 小时前
C++ 核心知识点汇总(第一日)(输入输出与变量、类型转换)
开发语言·c++
2301_7657031414 小时前
C++中的工厂模式实战
开发语言·c++·算法
电商API&Tina14 小时前
电商数据采集 API 接口 全维度解析(技术 + 商业 + 合规)
java·大数据·开发语言·数据库·人工智能·json
小白学大数据14 小时前
实测数据:多进程、多线程、异步协程爬虫速度对比
开发语言·爬虫·python·php
退休钓鱼选手14 小时前
[CommonAPI + vsomeip]通信 客户端 5
c++·人工智能·自动驾驶