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

相关推荐
U***e63几秒前
Python测试
开发语言·python
阿林学习计算机13 分钟前
C++11特性
c++
yi碗汤园22 分钟前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
Elias不吃糖43 分钟前
NebulaChat:C++ 高并发聊天室服务端
开发语言·c++·redis·sql·项目文档
haofafa1 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
帅中的小灰灰1 小时前
C++编程策略设计模式
开发语言·c++·设计模式
O***p6041 小时前
JavaScript增强现实开发
开发语言·javascript·ar
Antonio9151 小时前
【Swift】Swift基础语法:函数、闭包、枚举、结构体、类与属性
开发语言·swift
csbysj20201 小时前
Vue3 事件处理
开发语言
Q***f6351 小时前
Kotlin在Android性能优化中的工具
android·开发语言·kotlin