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

相关推荐
浪客川11 分钟前
【百例RUST - 005】所有权和切片
开发语言·后端·rust
古城小栈14 分钟前
Axum: Rust 好用的 Web 框架
开发语言·rust
_OP_CHEN15 分钟前
【算法基础篇】(四十四)数论之欧拉定理与扩展欧拉定理深度解析:从降幂到超大规模幂运算
c++·算法·蓝桥杯·算法竞赛·欧拉定理·扩展欧拉定理·acm/icpc
lfwh18 分钟前
Java 中基于 DBSCAN 算法的车辆交汇点计算实现详解
java·开发语言·算法
liulilittle20 分钟前
DeepWiki: OPENPPP2 工程价值
网络·c++·网络协议·ai·信息与通信·通信
星河耀银海22 分钟前
C++面向对象编程:从基础到实战
开发语言·c++
HUST29 分钟前
C语言第十一讲: 深入理解指针(1)
c语言·开发语言
Ccjf酷儿39 分钟前
C++语言程序设计 (郑莉)第三章 函数
开发语言·c++
ytttr8731 小时前
基于人工蜂群算法(ABC)的MATLAB数值计算求解框架
开发语言·算法·matlab
Dxy12393102161 小时前
Python如何使用DrissionPage做自动化:简单入门指南
开发语言·python·自动化