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

相关推荐
Demon--hx9 小时前
[C++]迭代器失效问题
前端·c++
liulilittle9 小时前
C++ 计算当前时区偏移量秒数(GMT/UNIX偏移量)
linux·c++·unix
JienDa9 小时前
JienDa聊PHP:知乎仿站实战中PHP框架的协同架构方略
开发语言·架构·php
再睡一夏就好9 小时前
深入理解Linux程序加载:从ELF文件到进程地址空间的完整旅程
linux·运维·服务器·c++·学习·elf
hashiqimiya9 小时前
android将json数据传递到后端springboot
java·开发语言
lijiatu100869 小时前
[C++] 上锁、解锁、获取锁、释放锁的区别
开发语言·c++
D***t1319 小时前
Swift在iOS中的多任务处理
开发语言·ios·swift
mit6.8249 小时前
C 语言仓库引入 Rust: MCUboot 为例
开发语言·rust
阿沁QWQ9 小时前
STL和string实现
开发语言·c++
f***68609 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言