有如下两个类定义 c1ass XX{ private: double x1; protected: double x2; public: double x3; };

admin2017-06-18  32

问题 有如下两个类定义
    c1ass XX{
    private:
        double x1;
    protected:
        double x2;
    public:
        double x3;
    };
    c1ass YY: protected XX{
        private:
        double y1;
    potected:
        double y2;
    public:
        double y3;
    };
    在类YY中保护成员变量的个数是(    )。

选项 A、1
B、2
C、3
D、4

答案C

解析 在C++中派生类从基类保护继承时,基类的公有成员在派生类中改变为保护成员,基类的保护成员在派生类中仍为保护成员。所以对于本题来说,YY类保护继承自类XX,那么类XX中的公有成员x3和保护成员x2在派生类中都成为保护成员,再加上类YY中的保护成员y2,因此在派生类YY中保护成员的个数为3。
转载请注明原文地址:https://kaotiyun.com/show/ChAp777K
0

最新回复(0)