A-A+
有如下类定义和变量定义:class parents{public:int publicDat
问题详情
有如下类定义和变量定义:
class parents{
public:
int publicData;
private:
int privateData;
};
class ChildA:public Parents{/*类体略*/);
class ChildB:private Parents{/*类体略*/};
ChildA a;
ChildB b:
下列语句中正确的是
A.cout$amp;B.cout$amp;C.cout$amp;D.cout$amp;
参考答案
正确答案:A
解析:基类中的私有成员在派生类中是隐藏的,只能在基类内部访问,派生类中的成员不能访问基类中的私有成员。ChildA是Parents的派生类,则a可以访问Parents的公有变量,但不可访问Parents的私有变量。所以A)项正确,B)项错误。派生类从基类私有继承时,基类的公有成员和保护成员在派生类中都改变为私有成员,ChildB从Parents私有继承,则Parents的公有变量publicData在ChildB中变为私有变量,所以b不能访问l~ublicData,也不能访问privateData。所以c)项和D)项错误。