c++中的final说明符

embedded/2024/10/11 3:01:48/

        final是c++11引入的说明符,可以修饰在类或者类成员函数尾部。

        final修饰类时,表示该类不能被继承。

class A final 
{
};

        上例表明,类A是一个不能被继承的类。

class A {
public:virtual void bar();
};class B final: public A {
public:void bar() override; 
};

        类B继承了类A,类B是一个不能被继承的类,因为它有final修饰符。

        final修饰类成员函数时,声明了成员函数是一个虚函数,且该虚函数不可在派生类中被覆盖。

class A {
public:virtual void bar();
};class B : public A {
public:void bar() override final; 
};

        类B继承了类A,类B也可以被其它类继承。但是类B中的成员函数bar(),不能被它的子类重写,因为该函数有final修饰。


http://www.ppmy.cn/embedded/125671.html

相关文章

模拟实现消息队列(基于SpringBoot实现)

项目代码 提要:此处的消息队列是仿照RabbitMQ实现(参数之类的),实现一些基本的操作:创建/销毁交互机(exchangeDeclare,exchangeDelete),队列(queueDeclare&a…

JSON数据操作与处理全面指南

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端的数据传递和API通信中。它基于键值对的方式组织数据,便于人类阅读和机器解析。在Java开发中,处理JSON数据通常需要使用一些常见的库&am…

rabbitMq-----消费者管理模块

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言消费者字段消费者内存管理类新增/删除消费者 总的消费者管理类 前言 只有订阅客户端订阅了一个队列消息后,他才是一个消费者,而消费者存…

打破常规,BD仓储物流的效能提升!

当前,随着国家战略的推进,JS与民用领域的融合不断加深,物流业也步入了军民融合的新时代。在智能仓储物流方面,JS物流的智能化进展受到了BD系统的高度关注和重视。 一、建设JS仓储物流RFID基础设施 JS物流领域引入RFID技术的基础工…

238. 除自身以外数组的乘积

文章目录 1.题目2.思路3.代码 1.题目 238. 除自身以外数组的乘积 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32…

【Unity】版本不一致且未升级资产,导致 Unity Sprite 2D 动画播放错误

自己的 Unity版本是 2022.3.45f1。目前折腾的这插件 2D Action RPG Engine: Mythril2D ,推荐使用的 Unity 版本是 2021.3.18。 倒腾了这个 unity animation 动画半天,发现这个 animation sprite resolver 在导入动画帧的时候,一直都导入的是…

netty详细说明ByteBuf的使用

一、ByteBuf的使用 ByteBuf是Netty提供的用于处理网络数据的字节缓冲区,具有以下特点和使用注意事项: 基本概念和特点 功能强大:Netty的ByteBuffer替代品,解决了JDK API的局限性,为网络应用程序开发者提供了更好的AP…

请求响应-08.响应-案例

一.案例 获取员工数据&#xff0c;返回统一响应结果&#xff0c;在页面上渲染展示 二.展示最终效果 三.步骤 步骤一&#xff1a; <dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.1.3<…