问题 单项选择题

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

问答题
多项选择题