最赞回答 / Sorenly
上面同学也说了,但我猜测,为什么不能传递呢,是由于虚继承的时候,为了避免多次出现Person的定义以及成员的传递,它干脆强制将顶层父类的成员以影印的方式传递一份下来,这样子就能避免你往顶层父类传递参数的时候,再次往下传到子类时出现重复。例如你图片中的情况,实际上就有两个顶层父类传下来的color,如果不禁止你往回传递参数的话,无法将 只需要一份的color成员 传递参数值的‘权利’给Worker或Farmer,这时如果都有权利望顶层父类Person传递color的话,势必会导致MigrantWorker有...
2016-06-05
最赞回答 / 慕粉3226999
只有在出现隐藏现象,即子类与父类中有同名方法时,才使用::形式表示是父类的方法还是子类的方法,本例中的printColor方法并没有出现隐藏现象
2016-06-05
最新回答 / soulhutter
<...code...>嗯, 这里老师讲的多继承是书上写的多重继承,然后书上只有多重继承而没有多继承。 总之也就是名字不一样罢了,咱们按书上的记吧 ,毕竟考试按书上的来,这样就好
2016-05-03
最新回答 / 慕前端8376903
#include <iostream>#include <cstring>using namespace std;int main(){ int n; cin>>n; int a[10000],b[10000]; memset(b,0,sizeof(b)); for(int i=0 ;i<n;i++) { cin>>a[i]; b[a[i]]++;//b数组来记录对应数字出现的次数,这种方...
2016-04-26
最赞回答 / fanfan598
基础: 任何类的protected和pravite成员都只能通过该类的成员函数访问,不同通过该类实例化的对象进行访问。public继承下: 基类中的protected成员对应到子类的protected成员,对于子类的protected成员,只能通过子类自己的成员函数访问,而不能通过子类实例化的对象访问。
2016-04-19