有如下类定义和变量定义: class Parents{ public: int publicData; prlVate: mt privateData; }; class ChildA:publi

admin2020-04-07  37

问题 有如下类定义和变量定义:
    class Parents{
    public:
    int publicData;
    prlVate:
    mt 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://jikaoti.com/ti/CWA0FFFM
0

最新回复(0)