C++11中多态和虚函数、override说明符的示例分析
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍C++11中多态和虚函数、override说明符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!多态和虚函数多态是C++的重要特征之一,同时也是初学者比
千家信息网最后更新 2025年01月20日C++11中多态和虚函数、override说明符的示例分析
这篇文章主要介绍C++11中多态和虚函数、override说明符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
多态和虚函数
多态是C++的重要特征之一,同时也是初学者比较难理解的特征。先来看一个简单的例子:
代码很简单,按照作者自己的话描述一下上述代码中多态从定义到起作用的要点,应该不会再简单了,从main函数看起:
基类的指针
指向派生类的对象
派生类覆盖了基类中定义的虚函数
这三点是必要条件,缺一不可。
上面的代码还有另外一些有有意思的地方,虽然不影响结果,但还是了解一下为好。派生类中重新定义(覆盖)基类中虚函数时:
virtual关键词不是必须
不必将函数声明为public
覆盖失败的情况
虚函数的覆盖要求两个函数的签名必须一致。例如下面的代码:
由于sub2::f1的签名和base::f1的签名不一致,所以无法实现多态。
也许你会觉得这个错误太明显了,根本不会发生。那是因为本例中的成员函数太简单了。在实际的开发中随着开发规模的扩大,类的继承关系会变得越来越深,成员函数的参数也会越来越多,经常会遇到派生类中定义的成员函数的签名和覆盖对象的签名不一致的而导致覆盖失败的情况。
而且要命的是,这种错误不会产生编译错误,不容易被发现。
override说明符
为了解决这个问题,C++11中引入了一个方法:在声明、定义派生类中的覆盖函数时使用override说明符:
由于明确的函数的用意,所以当编译器无法在基类中找到相同签名的虚函数的时候,就会产生编译错误。
以上是"C++11中多态和虚函数、override说明符的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
函数
多态
说明符
代码
错误
一致
成员
编译
示例
分析
内容
对象
情况
特征
篇文章
面的
越来
开发
明显
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何加强我国网络安全建设
软件开发1004无标题
数据库 权限表
我的世界服务器防护系统
网络技术部部门简介
双程广播剧软件开发
江苏芯融网络技术研究院好吗
一梦江湖手游最早的服务器
电脑网络安全模式怎么启动音频
高清电视直播软件开发
学习软件开发的课程视频
网络安全教育效果和反思
网络安全知识简笔画
南山网络安全态势周报
精准完成网络安全工作
数据库中如何定义数组
数据库表格的连接字符串在哪
软件开发与设计的项目名称
收银机分机连接主机数据库
软件开发领域趋势
被知名数据库收录情况
数据库安全百度经验
编程数据库需要学吗
网络安全操作标准
网络安全等级保护小知识
网络安全改造的理由
西宁通用服务器
四川企业软件开发正规平台
失落的方舟服务器人数
软件开发前期无收入怎么做账