问题
单项选择题
若类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是非法的。其余的访问权限都是许可的。