看看覆盖的说法对不对?

方紫涵 2014-02-11 08:41:18
网上搜到一个面试题,看看下面的红色部分说的对不对啊 ?
and问下 覆盖和隐藏是不是一个意思啊 ?



(1)重写和重载主要有以下几点不同。
 范围的区别:被重写的和重写的函数在两个类中,而重载和被重载的函数在同一个类中。
 参数的区别:被重写函数和重写函数的参数列表一定相同,而被重载函数和重载函数的参数列表一定不同。
 virtual的区别:重写的基类中被重写的函数必须要有virtual修饰,而重载函数和被重载函数可以被

virtual修饰,也可以没有。
(2)隐藏和重写、重载有以下几点不同。
 与重载的范围不同:和重写一样,隐藏函数和被隐藏函数不在同一个类中。
 参数的区别:隐藏函数和被隐藏的函数的参数列表可以相同,也可不同,但是函数名肯定要相同。当参数不相同时,无论基类中的参数是否被virtual修饰,基类的函数都是被隐藏,而不是被重写。
说明:虽然重载和覆盖都是实现多态的基础,但是两者实现的技术完全不相同,达到的目的也是完全不同的,覆盖是动态态绑定的多态,而重载是静态绑定的多态。
...全文
261 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ztenv 版主 2014-02-12
  • 打赏
  • 举报
回复
引用 9 楼 xwhbwas2008 的回复:
[quote=引用 8 楼 lianshaohua 的回复:] 一般来说是这样的: override是重写或叫覆盖; overload是重载 声明一个所派生类一样的非虚函数(派生类本身不是虚的)是隐藏,在当前类中调用时默认调用本类的,当然也有办法调用基类的同型构函数;
overwrite 有没有这个词?[/quote] 没有
方紫涵 2014-02-12
  • 打赏
  • 举报
回复
引用 10 楼 mingliang1212 的回复:
[quote=引用 9 楼 xwhbwas2008 的回复:] [quote=引用 8 楼 lianshaohua 的回复:] 一般来说是这样的: override是重写或叫覆盖; overload是重载 声明一个所派生类一样的非虚函数(派生类本身不是虚的)是隐藏,在当前类中调用时默认调用本类的,当然也有办法调用基类的同型构函数;
overwrite 有没有这个词?[/quote] 没有这个词. 红色的一句话是对的. 其他的观点也不能说是错,就是不准确. [/quote]多谢 。我同意阁下的观点。
iamnobody 2014-02-12
  • 打赏
  • 举报
回复
引用 9 楼 xwhbwas2008 的回复:
[quote=引用 8 楼 lianshaohua 的回复:] 一般来说是这样的: override是重写或叫覆盖; overload是重载 声明一个所派生类一样的非虚函数(派生类本身不是虚的)是隐藏,在当前类中调用时默认调用本类的,当然也有办法调用基类的同型构函数;
overwrite 有没有这个词?[/quote] 没有这个词. 红色的一句话是对的. 其他的观点也不能说是错,就是不准确.
方紫涵 2014-02-12
  • 打赏
  • 举报
回复
引用 8 楼 lianshaohua 的回复:
一般来说是这样的: override是重写或叫覆盖; overload是重载 声明一个所派生类一样的非虚函数(派生类本身不是虚的)是隐藏,在当前类中调用时默认调用本类的,当然也有办法调用基类的同型构函数;
overwrite 有没有这个词?
ztenv 版主 2014-02-12
  • 打赏
  • 举报
回复
一般来说是这样的: override是重写或叫覆盖; overload是重载 声明一个所派生类一样的非虚函数(派生类本身不是虚的)是隐藏,在当前类中调用时默认调用本类的,当然也有办法调用基类的同型构函数;
方紫涵 2014-02-12
  • 打赏
  • 举报
回复
引用 6 楼 u010210927 的回复:
弱弱问一句,隐藏和覆盖 有啥区别,结果不都是只执行派生类的功能而不执行基类的么?
我认为覆盖不是是重写。 你说的意思是重写吧?
海xs 2014-02-12
  • 打赏
  • 举报
回复
弱弱问一句,隐藏和覆盖 有啥区别,结果不都是只执行派生类的功能而不执行基类的么?
mujiok2003 2014-02-11
  • 打赏
  • 举报
回复
引用 4 楼 stendson 的回复:
覆盖是重新定义基类non virtual函数,基类非virtual函数则被隐藏(强烈不建议),可以通过using声明和直接调用基类函数!
你说的是隐藏,不是覆盖.
stendson 2014-02-11
  • 打赏
  • 举报
回复
重载是静态多态,是通过函数重载决议机制在编译期决定要调用的函数。 重写是在继承层次中,重写基类virtual函数,实现动态多态。 覆盖是重新定义基类non virtual函数,基类非virtual函数则被隐藏(强烈不建议),可以通过using声明和直接调用基类函数!
方紫涵 2014-02-11
  • 打赏
  • 举报
回复
覆盖 隐藏 重写 override hidden overwrite 这么翻译对不对?
方紫涵 2014-02-11
  • 打赏
  • 举报
回复
覆盖是的隐藏的话 就错了 覆盖是重写的话 感觉就对了 大家说说看
mujiok2003 2014-02-11
  • 打赏
  • 举报
回复
恩,说到点上了.
内容概要:本文档介绍了基于RESTful设计的高性能API接口的实战开发案例,涵盖从设计、开发、权限控制、性能优化到测试与文档自动化等环节。项目以用户管理与权限控制系统为例,采用Node.js + Express.js作为后端框架,MongoDB为数据库,Mongoose管理数据模型,严格遵循RESTful风格的接口设计,定义了标准HTTP动作对应的操作。安全性方面,实现了JWT认证机制和基于角色的访问控制(RBAC),确保接口安全。性能优化措施包括Redis缓存热点数据、接口请求频率限制、Winston和Morgan日志系统。开发调试借助Postman和Swagger UI,支持自动生成接口文档,提高前后端协作效率。部署方案利用Docker、Nginx、GitHub Actions等技术实现自动化部署,ELK用于日志收集与分析。; 适合人群:有一定编程基础,尤其是对API开发感兴趣的开发者和系统架构师。; 使用场景及目标:①学习RESTful风格的API设计原则;②掌握API的安全机制,如JWT认证和RBAC;③了解性能优化方法,如缓存和限流;④熟悉API开发的完整流程,包括测试、文档管理和部署。; 阅读建议:本案例详细描述了API开发的各个环节,建议读者按照文档顺序逐步学习,重点理解各部分的技术细节和实现原理,同时结合实际项目进行实践。
内容概要:本文详细解析了2025年全国大学生电子设计大赛D题——声音定位系统,从赛题要求、系统架构、硬件选型、算法选择到软件代码实现进行了全面阐述。赛题要求设计一个声音定位系统,包括声响模块、声音接收模块和信息处理模块。声响模块负责产生500Hz的声音信号,声音接收模块通过麦克风和放大电路接收声音信号,信息处理模块则根据声音传播的时间差计算声响模块的位置坐标,并显示出来。发挥部分还包括提高定位精度、连续跟踪显示坐标值和显示移动轨迹。文中还介绍了开发环境搭建、关键代码实现以及常见问题的解决方法。 适合人群:具备一定电子设计基础的大学生、电子设计爱好者和参赛选手。 使用场景及目标:①帮助参赛者理解赛题要求,掌握声音定位系统的设计和实现方法;②提升参赛者的电子设计能力和编程水平,为比赛做好准备;③通过实际项目锻炼创新思维和实践能力,积累宝贵的经验。 其他说明:本文不仅涵盖了硬件选型、电路设计、算法选择等技术细节,还提供了详细的代码实现和优化建议,有助于读者全面掌握声音定位系统的开发过程。此外,文章还强调了电子设计竞赛的重要性,鼓励读者积极参与,探索电子设计的无限可能。

65,194

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧