问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++中,直接用重写就是了,为什么有时候非要用重定义(覆盖)?不都是子类重新定义父类相同名称的函数吗?

发布网友 发布时间:2022-05-06 09:31

我来回答

1个回答

热心网友 时间:2023-10-08 23:49

首先要纠正下你的理解.

如果子类和父类2个函数签名相同,
1) 如果父类函数是virtual(虚函数), 那么子类函数是 "重写"
2) 如果父类函数不是virtual, 那么就是"重定义".

俩个函数关系是重写还是重定义, 要看父类函数是不是虚函数

也就是说:
1) 如果你需要动态绑定, 那么就把函数定义为virtual, 它的同名子类函数都是它的"重写"
2) 如果父类函数不是一个virtual函数, 但是你继承并且修改了这个函数, 你的行为就是重定义.

第2点比较少见, 通常不会去修改父类的非虚函数, 但是如果你只是想单纯的继承父类的代码, 而不期待动态绑定的话, 可以这么做, (例如继承标准库的std::vector, 如果你懒得写接口的话, 不过使用的话还是需要谨慎, 毕竟这些类型不是被设计为基类的)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? hadoop节点替换怎么做 炖猪大骨头头的家常做法大全怎么做好吃视 hadoop增加一个结点只要配置namenode节点到datanode节点的ssh互信吗... hadoop 如果增加新的从节点,有哪些是需要做的?基于hadoop的开发有哪些... 企业股权转让需要的材料有什么 公司股权转让需要什么文件资料 ipad,home键按不了,是坏了还是失灵了,有没有什么可以自己修复的办法? 怎样在电脑上同时登陆两个 怎么同时登陆两个 潘粤明在《鬼吹灯之龙岭迷窟》这部电视剧里面的表现如何? 潘粤明、张雨绮、姜超《鬼吹灯之龙岭迷窟》花絮合集五 《鬼吹灯之龙岭迷窟》鹧鸪哨和了尘大师为什么带外国人托马斯进墓?_百 ... word的文本框为什么变成这样? 为什么杀生丸还涂红色的眼影啊?? 怎么画眼影好看? 如何在WORD 2003 中设置下列的文本框三维阴影格式? 电脑上装了流氓输入法:快速拼音,没有地方卸载,也不能删除,删除是灰色的,怎么彻底卸载这个快速拼音? 有一部动漫介绍很多小知识 word2003文本框中建立的三维效果图怎么取消啊。 美瞳一定要化眼妆才有效果吗 Java中重载(Overload)和重写(Override)的定义 被胶带粘过地方怎么能弄干净? vb.net的重写和重载是什么? Java里面的重载和重写怎么区别? java:方法重载和方法重写的区别 怎么区分 java 重载 覆盖 重写 三个概念 计算机黑色三角形符号是什么意思 电脑主板三角形标志是什么牌子 电脑出现三角形图标一会噗呲一声自动关机 电脑显示黄色三角形图标里边有一个黑色惊叹号咋回事 为什么我的电脑右下角出一个三角形图标(在QQ那个附近)里面一个黑感叹号 显示C盘损坏且无法读取 惠普25i是dc调光吗 hp 8730w怎样看 是否DC 屏 HP DC7900 CMT机子,winxp系统,如何设置 DP口 及VGA 口双显示器输出,是不是BIOS还要设置? HP有DC屏 lenovo你有什么~~~ 现有电脑HP dc7600 装迈创G450MMs接3张22寸屏,打开俩通达信股市行情再开两网页,机器就跑不动了。 内外兼修的绿色 HP节能明星产品实测 惠普hp-dc7900cmt是台式机还是笔记本 惠普30DC 惠普7900微型台式机DP接口接显示器问题多