亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

7分鐘左右視頻求解

7分鐘左右的視頻不是很懂啊,如果Infantry能訪問類Person的數據成員和成員函數,怎么能說明soldier保護繼承的父類的數據成員和成員函數在protected內,如果在public里面Infantry不是更應該能訪問到person的數據成員和成員函數嗎。求解

正在回答

3 回答

首先,Soldier類保護繼承Person類,Infantry公有繼承Soldier類。這個時候Soldier的對象不能調用Person類中的work成員函數,說明Person中數據成員和成員函數不在其(Soldier)public下(因為Person中work的訪問屬性為public,如果是公有繼承肯定可以訪問)。那就剩下保護繼承(私有繼承情況更是不能)了。而Infantry是公有繼承Soldoer類,如果Infantry中成員可以訪問Person中的數據成員和成員函數也就說明了Soldier類中的成員可以訪問Person中的數據成員和成員函數,即保護繼承。

0 回復 有任何疑惑可以回復我~

我覺得Infantry類是公有(public)繼承自soldiler類中那么其就能訪問soldier類中的公有(public)成員和受保護(protected)的成員,能掉用Personer類中的公有和受保護的成員(我覺得只能說名他的派生類soldlier繼承了(相當與存儲了)了基類的公有成員和受保護的成員在 公有或受保護的作用域類,)但應為之前證明了如果其基類的公有成員派生類不能調用,所有排除了,在公有成員的作用域,所以在protected作用域內(soldlier是protected繼承person)。

0 回復 有任何疑惑可以回復我~

能調用不就是嘍? 步兵類能訪問person的數據成員和成員函數 不過數據成員不能直接訪問

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之繼承篇
  • 參與學習       75192    人
  • 解答問題       251    個

繼承,C++面向對象三大特征之一,通過編碼實踐方式講解到操作層面

進入課程

7分鐘左右視頻求解

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號