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

相关推荐
j_xxx404_3 小时前
C++ STL:list|了解list|相关接口|相关操作
开发语言·c++
kyle~3 小时前
机器视觉---Intel RealSense SDK 2.0 开发流程
运维·c++·windows·深度相机·intel realsense
脏脏a3 小时前
类与对象(上):面向过程到面向对象的跨越,类的定义、封装与 this 指针等核心概念深度剖析
开发语言·c++
AI柠檬3 小时前
C语言基于MPI并行计算矩阵的乘法
c语言·c++·算法
熊猫比分站3 小时前
[特殊字符] Java/Vue 实现体育比分直播系统,支持多端实时更新
java·开发语言·vue.js
小无名呀3 小时前
socket_udp
linux·网络·c++·网络协议·计算机网络·udp
inferno4 小时前
Maven基础(一)
java·开发语言·maven
csbysj20204 小时前
SQLite Truncate Table: 完全删除表中的数据
开发语言
闻缺陷则喜何志丹4 小时前
【贪心 字典序 回文 最长公共前缀】LeetCode3734. 大于目标字符串的最小字典序回文排列|分数未知
c++·算法·力扣·贪心·字典序·回文·最长公共前缀
tung tung tung sahur4 小时前
领略 Rust 抽象之美:自定义迭代器实现全解析
开发语言·后端·rust