最贊回答 / 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