永发信息网

C++关于虚函数的问题,求大神帮忙解答下,谢谢

答案:1  悬赏:20  手机版
解决时间 2021-03-01 20:47
C++关于虚函数的问题,求大神帮忙解答下,谢谢
最佳答案
再基类和派生类中都定义了同名虚函数,此时根据基类指针调用这两个虚函数也分别怎么做。
光同名不行,如果同名,但是参数表有所不同,那么派生类的虚函数(必须写virtual字样,如果你希望它也虚函数的话),他们算是两条不同的虚函数体系线,即分别是各自虚函数体系的起点,而且因为同名隐藏机制,派生类的同名函数会遮蔽基类的,至于基类调用,你可以这么想,基类指针能看见的内容都是依据其自身类型的,所以如果同名不同参,那么实际上并不会调用派生类中的同名函数,此时,如果那个函数没有virtual字样的话,那个派生类中的函数甚至只是一个普通的成员函数了,和虚函数都没有关系了。
2.在基类中定义一个非虚函数,而在派生中定义了同名虚函数,此时要分别调用它们要怎么操作基类指针
非虚函数就是普通成员函数,你说应该怎么调用,派生类中的同名虚函数只对这个派生类的派生类起虚函数作用,而且遵循我对第一个问题的回答,虚函数自起点位置向更下层的派生类才有影响,跟上层的类没啥关系的。
3.能不能同名函数基类为虚,派生不为虚。
我想你看了前面2个问题的回答,这个问题你自己都能回答了。


补充说一句:如果只同名,而不想归于同一个虚函数体系,那么我个人建议对非虚函数换个名字吧,或者虚函数使用v_fun或fun_v这样的,以示区别,因为不换名字的话,那么使用者会困惑的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
曼联99年夺得三冠王时,足总杯半决赛对阿森纳
healthily的比较级是不是more healthily
站前路在什么地方啊,我要过去处理事情
宋小宝碰瓷儿台词
甘心当备胎的人会有什么样的下场
紫金东路/紫金中路(路口)怎么去啊,有知道地
我不想上课外班,怎么跟家长说
碧玉妆成一树高万条垂下绿丝绦怎么读
下面有关虚电路和数据报的特性,正确的是
如何退订中国移动业务
席德梅尔的铁路 怎么样
希望书店地址在哪,我要去那里办事
your shirt英语怎么读
饲料原料检测重金属,是不是有用明火烧的方法
山东尖峰养殖场规模大吗?
推荐资讯
蓉蓉幼儿园地址在哪,我要去那里办事
左胸下面是什么
罪恶王冠第一季1-12讲了什么?为毛看不懂?明
潘记藏书羊肉老店我想知道这个在什么地方
我的福克斯下雨天锁车正常,天晴了就不正常了,
赵氏穴位保健按摩中心我想知道这个在什么地方
同床睡肝癌会不会传播
基因发生变化,性状变化吗?还是性状发生变化
奥琳德吴忠NO.3这个地址在什么地方,我要处理
LI-NING(岭南站)地址有知道的么?有点事想过
继续前进,抓住每次机会,然后拿下它.用英语
杨钢村我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?