有如下类定义和变量定义: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解析:基类中的私有成员在派生类中是隐藏的,只能在基类内部访问,派生类中的成员不能访问基类中的私有成员。ChildA是Parents的派生类,则a可以访问Parents的公有变量,但不可访问Parents的私有变量。所以A)项正确,B)项错误。派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员,ChildB从Parents私有继承,则Parents的公有变量publicData在ChildB中变为私有变量,所以b不能访问l~ublicData,也不能访问privateData。所以
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
