标题:继承二义性到三角问题,第二种处理方法他说有区别,什么区别
只看楼主
冬青123
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2019-4-15
结帖率:90.91%
 问题点数:0 回复次数:2 
继承二义性到三角问题,第二种处理方法他说有区别,什么区别
这是什么意思,什么区别那
搜索更多相关主题的帖子: 继承 区别 处理 方法 
2020-01-03 13:46
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
得分:0 
你的问题说的太抽象了,大神级别的估计能看懂吧,(以下说的话是我对书中代码的初步理解,因为我也没学多久大概一个月吧,所以仅供参考,吸收不吸收全靠楼主的个人见解)
我的理解是,
假设楼主要看一本名叫《迷茫》的书,楼主应该怎么做呢?当然是先找到书,然后看书名是不是叫《迷茫》
1,obj.base1::fun()
照着图片作者的叙述可以理解为,直接看到书上的名字如book::bookname()
2.第二个好理解点就是    你想找一本书》书的名字是什么?》哦原来书的名字是《迷茫》》
void bookname(){book::bookname;}
3为什么书上用的是中文符号!!!!!!中文的::符号!!!!中文的,符号!!!!!


把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-03 18:08
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
得分:0 
基类A和B都有一个方法fun, 子类C同时从A和B派生,如果直接调用C.fun()就会产生歧义,不知道调用的是A的还是B的那一个,解决方法:1加限定符或者,2在C里面自定义一个同名的fun,并且在该fun方法内指明要调用的是A或B的fun,这样做的话C.fun()调用才能够明确。

方法1和方法2作用是一样的,都是明确调用的来源,只是处理的方式不一样。毕竟一个方法会在多个地方调用,方法1比较繁琐每一次都要加限定前缀还要多打好几个字,方法2预先定义好,后期直接通过C的实例调用比较方便。
2020-01-08 01:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498792-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031965 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved