有如下類定義和變量定義:class parents{public:int publicData;private:int privateData;};class
有如下類定義和變量定義:
class parents{
public:
int publicData;
private:
int privateData;
};
class ChildA:public Parents{/*類體略*/);
class ChildB:private Parents{/*類體略*/};
ChildA a;
ChildB b:
下列語句中正確的是
A.cout<<a.pubficData<<endl;
B.cout<<a.privateData<<endl;
C.cout<<b.pubficData<<endl;
D.cout<<b.privateData<<endl;
正確答案:A解析:基類中的私有成員在派生類中是隱藏的,只能在基類內(nèi)部訪問,派生類中的成員不能訪問基類中的私有成員。ChildA是Parents的派生類,則a可以訪問Parents的公有變量,但不可訪問Parents的私有變量。所以A)項正確,B)項錯誤。派生類從基類私有繼承時,基類的公有成員和保護成員在派生類中都改變?yōu)樗接谐蓡T,ChildB從Parents私有繼承,則Parents的公有變量publicData在ChildB中變?yōu)樗接凶兞?,所以b不能訪問l~ublicData,也不能訪問privateData。所以
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。