若类A和类B的定义如下: #include classA { inti,j; public: int geti() { return i; } }; class B:p

admin2012-12-29  26

问题 若类A和类B的定义如下:
    #include
    classA
    {
    inti,j;
    public:
    int geti()
    {
    return i;
    }
    };
    class B:publie A
    {
    int k:
    public:
    void make()
    {
    k=i*j;
    }
    };
    则上述定义中非法的表达式是(             )。

选项 A、k=i*j;
B、.int k;
C、return i;
D、void make();

答案A

解析 因为派生类不能访问基类的私有成员i和i(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。
转载请注明原文地址:https://jikaoti.com/ti/fVL0FFFM
0

最新回复(0)