C++11: final与override
C++11中增加了final与override关键字,貌似是从Java语言中借鉴而来,用途也一样。看例子代码:
01.#include <iostream>02.03.usingnamespacestd;04.05./* use final on a class to prevent inheriting; compilation error */06.classA/* final */{07.public:08./* use final on a method to prevent override; compilation error */09.virtualvoidfunc(int)/* final */{ cout <<"A::func()"<< endl; }10.};11.12.classB :publicA {13.public:14./* use override to make the compiler checks that we are indeed overriding an inherited method */15.virtualvoidfunc(int) override { cout <<"B::func()"<< endl; }16.17./* virtual void func(char) override {} compilation error; new method (see signature), does not override existing */18.};19.20.intmain() {21.A t;22.t.func(2);23.24.B u;25.u.func(3);26.}程序输出:
A::func()
B::func()
C++11: final与override的更多相关文章
- c++11 继承控制:final和override
c++11 继承控制:final和override #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <str ...
- C++ 11 Lambda表达式、auto、function、bind、final、override
接触了cocos2dx 3.0,就必须得看C++ 11了.有分享过帖子:[转帖]漫话C++0x(四) —- function, bind和lambda.其实最后的Lambda没太怎么看懂. 看不懂没关 ...
- hibernate-release-4.3.11.Final资源包介绍
资源下载 hibernate-release-4.3.11.Final documentation 包 相关文档 lib 相关jar包 required --开发中必须要加入的包 optional ...
- final ,override关键字
final 有时我们会定义这样一种类,我们不希望其他类继承它,或者不想考虑它是否适合作为一个基类.为了实现这一目的,c++ 11新标准提供了一种防止继承发生的方法,即在类名后跟一个关键字final: ...
- 关键字final和override
final关键字 限制某个类或结构体不能被继承 直接对类声明: class A final{}; class B : public A {}; 或这类内有final函数,类可以被继承,但是final函 ...
- 111.final与override
#include <iostream> using namespace std; class myclass { public: //后面加一个final,则禁止虚函数被子类重写 //fi ...
- C++ 11学习和掌握 ——《深入理解C++ 11:C++11新特性解析和应用》读书笔记(一)
因为偶然的机会,在图书馆看到<深入理解C++ 11:C++11新特性解析和应用>这本书,大致扫下,受益匪浅,就果断借出来,对于其中的部分内容进行详读并亲自编程测试相关代码,也就有了整理写出 ...
- [转][C++ 11]override and final - write clean and maintainable C++ code
原文: http://arne-mertz.de/2015/12/modern-c-features-override-and-final/ Today I write about a pair of ...
- C++11 override 和 final 关键字
C++11之前,一直没有继承控制关键字.禁用一个类的进一步衍生是可能的但也很棘手.为避免用户在派生类中重载一个虚函数,你不得不向后考虑. C++ 11添加了两个继承控制关键字:override和fin ...
随机推荐
- window.location.href 和self.location的区别
你从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面 所以这2个就有了 区别 比如说 我有个页面A.HTML 里面嵌套了一个B.HTML ...
- eclipse - copy类的全名
由于多次操作,感觉eclipse应该提供这个功能,网上搜一下,发现需要安装插件. 下载地址为 http://www.jave.de/eclipse/copyfully/copyfully_1.2.0. ...
- 华为S5300交换机配置基于接口的本地端口镜像
配置思路 1. 将Ethernet0/0/20接口配置为观察端口(监控端口) 2. 将Ethernet0/0/1----Ethernet0/0/10接口配置为镜像端口 配置步骤 1. 配置观察端 ...
- 使用WebFrom来模拟一些MVC的MODEL与View的数据交互功能
MVC中有一点非常闪瞎人眼的功能就是,可以根据Model与View视图来直接将页面也数据模型进行绑定,那么我们在想客户端发送页面时不需要进行各种控件赋值,不需要操心怎么渲染,当客户提交表单给服务器时也 ...
- Mysql 视图笔记
1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使 ...
- gui小日历
package MyCal; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; imp ...
- eclipse sae上传代码
eclipse sae上传代码http://www.sinacloud.com/doc/sae/java/tools.html#eclipse 来自为知笔记(Wiz)
- linux“批处理”脚本
依次执行A B C3条语句 最简单的 写如下代码 #!/bin/sh A B C 保存为test.sh然后添加执行权限chmod +x test.sh然后执行该脚本./test.sh
- Purpose of requirePermission attribute (web.config)
requirePermission 属性的含义 https://msdn.microsoft.com/en-us/library/system.configuration.sectioninforma ...
- Mysql 存储过程和函数区别
存储过程是procedure用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表. 存储 ...