问题 单项选择题

若类A和类B的定义如下; 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,都是基类A的私有变量,它们是隐蔽的,在派生类中不能直接访问。

实验题
单项选择题