若类A和类B的定义如下: #include<malloc.h> class A { int i,j; public: int geti() { return i; } }; class B:

admin2010-12-16  72

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

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

答案A

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

最新回复(0)