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

admin2015-11-24  28

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

选项 A、cout<<a.publicData<<endl;
B、cout<<a.privateData<<endl;
C、cout<<b.publicData<<endl;
D、cout<<b.privateData<<endl;

答案A

解析 基类Parents的私有成员privateData在派生类ChildA和ChildB中是不可以访问,所以选项B、D是错误,而派生类ChildB私有继承基类Parents,所以基类Parents的公有成员publicData在派生类ChildB中变为私有成员,只能在派生类ChildB内部访问,因而选项C是错误的。派生类ChildA公有继承基类Parents,所以基类Parents的公有成员publicData在派生类ChildA中可以访问。
转载请注明原文地址:https://kaotiyun.com/show/AlNp777K
0

最新回复(0)