有如下类定义和变量定义: class parents{ public: int publicData; private: int privateData; }; class ChildA:public Parents{/*类体略*/); class Chi

admin2017-10-17  16

问题 有如下类定义和变量定义:
class parents{
public:
int publicData;
private:
int privateData;
};
class ChildA:public Parents{/*类体略*/);
class ChildB:private Parents{/*类体略*/};
ChildA a;
ChildB b:
下列语句中正确的是

选项 A、cout<B、cout<C、cout<D、cout<

答案A

解析 基类中的私有成员在派生类中是隐藏的,只能在基类内部访问,派生类中的成员不能访问基类中的私有成员。ChildA是Parents的派生类,则a可以访问Parents的公有变量,但不可访问Parents的私有变量。所以A)项正确,B)项错误。派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员,ChildB从Parents私有继承,则Parents的公有变量publicData在ChildB中变为私有变量,所以b不能访问l~ublicData,也不能访问privateData。所以c)项和D)项错误。
转载请注明原文地址:https://kaotiyun.com/show/5PAp777K
0

最新回复(0)