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

相关推荐
划破黑暗的第一缕曙光9 分钟前
[C++]:2.类和对象(上)
c++·类和对象
季明洵12 分钟前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
墨雪不会编程19 分钟前
C++之【深入理解Vector】三部曲最终章
开发语言·c++
cpp_250122 分钟前
P9586 「MXOI Round 2」游戏
数据结构·c++·算法·题解·洛谷
浅念-26 分钟前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
kyle~28 分钟前
ROS2---QoS策略
c++·机器人·ros2
小宋102137 分钟前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
爱吃生蚝的于勒38 分钟前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
一晌小贪欢1 小时前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
君生我老1 小时前
C++自写list类
c++