首页后端开发ASP.NETC++11新特性- 纯虚函数和final说明符的用法

C++11新特性- 纯虚函数和final说明符的用法

时间2024-01-31 00:39:03发布访客分类ASP.NET浏览374
导读:收集整理的这篇文章主要介绍了C++11新特性- 纯虚函数和final说明符的用法,觉得挺不错的,现在分享给大家,也给大家做个参考。个人以为,C++之所以适合架构设计,很大一个原因就是它可以对将来编程。比如可以通过public/PRotect...
收集整理的这篇文章主要介绍了C++11新特性- 纯虚函数和final说明符的用法,觉得挺不错的,现在分享给大家,也给大家做个参考。个人以为,C++之所以适合架构设计,很大一个原因就是它可以对将来编程。比如可以通过public/PRotected/private来限定派生类对基类成员的访问,可以定义抽象类要求派生类必须实现的接口等。

当我们声明/定义了一个虚函数时候,派生类可以选择覆盖这个虚函数,也可以选择不覆盖。关于这一点,C++也提供了必要的方法,来要求派生类覆盖某些方法,这也可以看作是一种对将来编程。

纯虚函数

这并不是一个新技术,功能也非常简单:就是一旦某个基类声明了某个纯虚函数,它的派生类在实例化的时候就必须覆盖这个函数。

本例中注释掉了sub::F1()方法,所以在第27行就会发生编译错误。

final说明符

一般说来,有要求的覆盖的方法,就应该有禁止覆盖的手段。但是不知道为什么,这个功能到了C++11中才被引入。使用方法也很简单:只要在函数声明的后面添加final说明符即可。

代码基本没变,只是base::f1()声明的后面换成了final说明符。这时如果定义了sub::f1()方法,就会产生如上图的编译错误。

作者观点

本文根据作者个人的理解,将纯虚函数和final说明符放到一起说明。如有不准确之处,欢迎补充和纠正。

相关文章:

详谈c++11 final与override说明符

C++11新特性中auto 和 decltyPE 区别和联系

相关视频:

C 语言教程

以上就是C++11新特性- 纯虚函数和final说明符的用法的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: C++11新特性 - 多态和虚函数ov...下一篇:使用C语言怎样清空输入缓冲区?这...猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: C++11新特性- 纯虚函数和final说明符的用法
本文地址: https://pptw.com/jishu/593251.html
javascript怎么求pi的五次方 快速避坑,聊聊5个用promise的常见错误!

游客 回复需填写必要信息