C++11中多态和虚函数、override说明符的示例分析
发表于:2024-10-16 作者:千家信息网编辑
千家信息网最后更新 2024年10月16日,这篇文章主要介绍C++11中多态和虚函数、override说明符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!多态和虚函数多态是C++的重要特征之一,同时也是初学者比
千家信息网最后更新 2024年10月16日C++11中多态和虚函数、override说明符的示例分析
这篇文章主要介绍C++11中多态和虚函数、override说明符的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
多态和虚函数
多态是C++的重要特征之一,同时也是初学者比较难理解的特征。先来看一个简单的例子:
代码很简单,按照作者自己的话描述一下上述代码中多态从定义到起作用的要点,应该不会再简单了,从main函数看起:
基类的指针
指向派生类的对象
派生类覆盖了基类中定义的虚函数
这三点是必要条件,缺一不可。
上面的代码还有另外一些有有意思的地方,虽然不影响结果,但还是了解一下为好。派生类中重新定义(覆盖)基类中虚函数时:
virtual关键词不是必须
不必将函数声明为public
覆盖失败的情况
虚函数的覆盖要求两个函数的签名必须一致。例如下面的代码:
由于sub2::f1的签名和base::f1的签名不一致,所以无法实现多态。
也许你会觉得这个错误太明显了,根本不会发生。那是因为本例中的成员函数太简单了。在实际的开发中随着开发规模的扩大,类的继承关系会变得越来越深,成员函数的参数也会越来越多,经常会遇到派生类中定义的成员函数的签名和覆盖对象的签名不一致的而导致覆盖失败的情况。
而且要命的是,这种错误不会产生编译错误,不容易被发现。
override说明符
为了解决这个问题,C++11中引入了一个方法:在声明、定义派生类中的覆盖函数时使用override说明符:
由于明确的函数的用意,所以当编译器无法在基类中找到相同签名的虚函数的时候,就会产生编译错误。
以上是"C++11中多态和虚函数、override说明符的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
函数
多态
说明符
代码
错误
一致
成员
编译
示例
分析
内容
对象
情况
特征
篇文章
面的
越来
开发
明显
相同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2015山东软件开发公司
魔兽世界经典旧世服务器转服
上海网络技术工作室
2020网络安全宣传周图标
服务器内存8g价格
软件开发到底怎么考核
展厅2台服务器做多通道融合
论文自己查重会被数据库查到吗
高灯科技互联网
2016冬网络技术会考题
台州市顺一网络技术
如何调用类中的数据库
快云软件开发有限公司
云怎么建立数据库
软件开发客户群体有哪些
剑网3服务器倍率
文昌租房网络安全
怎么看数据库的注册用户
软件公司用什么软件开发app
浪潮服务器管理口是哪个
高中 网络技术课件
网络安全股三六零
数据库中表更新的命令是
网络安全责任怎么认定
中国网络安全企业2019
云服务器可以存视频吗
鹤壁华宇网络技术
宝山区品牌软件开发价格优惠
软件开发测试学费多少
联想的服务器在中国还是在美国