单选题
若类A和类B的定义如下: #include
class A { int i,j; public: int geti() {return i;} }; class B:public A { intk: 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是非法的。其余的访问权限都是许可的。
提交答案
关闭