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

相关推荐
ftpeak1 分钟前
Burn:纯 Rust 小 AI 引擎的嵌入式物体识别之旅(一步不踩坑)
开发语言·人工智能·rust
越努力^越幸运12 分钟前
C中内存函数
c语言·开发语言
flysh0518 分钟前
C#和.NET简介
开发语言·c#·.net
864记忆18 分钟前
Qt Creator 常用命令的中英文对照表
开发语言·qt
2501_9462447824 分钟前
Flutter & OpenHarmony OA系统下拉刷新组件开发指南
开发语言·javascript·flutter
froginwe1127 分钟前
PHP 表单 - 验证邮件和URL
开发语言
予枫的编程笔记30 分钟前
从入门到精通:RabbitMQ全面解析与实战指南
java·开发语言·后端·rabbitmq·ruby
superman超哥37 分钟前
Rust 异步性能最佳实践:高并发场景的极致优化
开发语言·后端·rust·最佳实践·异步性能·高并发场景
汉克老师38 分钟前
GESP2025年12月认证C++二级真题与解析(编程题2 (黄金格))
c++·二维数组·gesp二级·gesp2级·分支判断
未来之窗软件服务38 分钟前
幽冥大陆(八十一)安检原理识别管制刀具原理go语言—东方仙盟练气期
开发语言·后端·golang·安检系统