有如下类定义和变量定义: c1ass Parents{ public: int publicData; private: int privateData; ); c1ass ChildA:public

admin2017-06-18  31

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

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

答案A

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

最新回复(0)