c++ override final关键字
final:
1.一个类或结构体不希望被继承
class Base final
{};class Derive : public Base
{};
报错信息如下:
1.cpp:34:7: error: cannot derive from ‘final’ base ‘Base’ in derived type ‘Derive’class Derive : public Base
2.一个虚函数不希望被重写
class Base
{
public:virtual void Fun() final{}
};class Derive: public Base
{
public:// 错误,不能覆盖基类的函数。virtual void Fun() override{ }
};
报错如下:
1.cpp:35:22: error: overriding final function ‘virtual void Base::Fun()’virtual void Fun() final
override
首先,重写的概念是,
子类重新定义父类中有相同名称和参数的虚函数
如果加了override关键字,同名函数是不能改变参数的
如下:
class A
{
public:virtual void print() {}
};class B
{
public:virtual void print(int a) override {}
};
结果:
1.cpp:23:18: error: ‘virtual void B::print(int)’ marked ‘override’, but does not override
virtual void print(int a) override {}
c++ override final关键字相关推荐
- override,final的使用,两者都是针对虚函数,也就是说要有virtual关键字
1.override,final的使用,两者都是针对虚函数,也就是说要有virtual关键字 #include <iostream> //C++中的final和override主要是 ...
- 继承extends ,this super final 关键字,abstract抽象类,override方法重写
继承extends 私有成员不能被继承 总结:子类方法中,使用变量的原则是:就近原则 1 package review06; 2 /* 3 私有成员不能被继承 4 子类和父类有同名的成员变量:在子类 ...
- 《从零开始学Swift》学习笔记(Day 47)——final关键字
在类的定义中使用final关键字声明类.属性.方法和下标.final声明的类不能被继承,final声明的属性.方法和下标不能被重写. 下面看一个示例: 1 2 3 4 5 6 7 8 9 10 11 ...
- final关键字的这8个小细节,你get到几个?
前言 大家好,我是狂聊君. 今天来聊 final 关键字,因为最近在看的几本书都讲到了 final 关键字,发现好多小细节自己都忽视了,抽空总结了一下,分享给大家. 正文 final关键字是一个常用的 ...
- php中final关键字
1.final关键字(不能修饰属性,即变量) a.希望一个类不被其他类来继承(出于安全性) 案例1: <?phpfinal class A{}class B EXTENDS A //此用法为错误 ...
- 深入理解Java中的final关键字
深入理解Java中的final关键字 http://www.importnew.com/7553.html Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什 ...
- Java面试题,深入理解final关键字
final关键字 final的简介 final可以修饰变量,方法和类,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类. final的具体使用场景 fina ...
- 【Kotlin】Kotlin 类的继承 一 ( 类继承基本方式 | final 关键字 | 子类主构造函数 | 子类次构造函数 )
文章目录 I . 类继承基本方式 II . 使用 final 禁止类继承 / 方法重写 III . 父类没有主构造函数 IV . 父类有主构造函数 V . 父类构造函数与子类构造函数总结 I . 类继 ...
- Java的this、super和final关键字
this:(this表示当前对象) 用类名定义一个变量的时候,定义的只是一个引用,外面可以通过这个引用来访问这个类里面的属性和方法. 在类的方法定义中使用this关键字代表使用该方法的对象的引用 当必 ...
最新文章
- oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題
- 2017英国AI形势报告:认知鸿沟、新商业模式和当下的挑战
- python多线程没用_python的多线程到底有没有用?
- 怎么把加载图标去掉_怎样在PCB上绘制图标
- 线性表的动态顺序存储和实现(C语言实现)【线性表】(4)
- 岗位内推 | 微软亚洲研究院智能多媒体组招聘实习生
- mysql用户 11_MySQL-快速入门(11)用户管理
- 八种经典排序算法总结
- maven构建可执行jar包
- java山地自行车怎么看型号_怎么看捷安特山地车型号 请问有知道捷安特自行车型号...
- linux内核驱动子系统,linux内核中的MFD子系统
- 软硬一体打天下,英特尔在 AI 上做了些什么?
- Tests for normality正态分布检验
- 2019年上半年工作总结
- 如何修改鼠标指针的样式
- 02C++对C的增强
- vue安装使用v-chart时报错解决方案
- C++与C#相比,哪个更适合开发大型游戏?
- 微信小程序如何申请注册教程
- 李奎元:说说那些征信模型(Z计分模型、巴萨利模型和A值模型)
热门文章
- 【cocos2d-x从c++到js】02:解决在vs中修改js源文件无效
- NHibernate one-to-one
- 基于消息机制的万能框架
- Nginx前端设置反向代理,后端Apache如何获取访客的真实IP,结合PHP。
- 传统服务化(SOA)与微服务(Micro Service)的融合之道
- python实战===图片转换为字符的源码(转)
- 编译安装LNMP Centos 6.5 x64(6.6 x64) + Nginx1.6.0 + PHP5.5.13 + Mysql5.6.19
- LAMP中apache的配置步骤
- Html.ActionLink 几种重载方式说明及例子
- silverlight实现2D人物动画