问题
单项选择题
有如下类声明:
class Base
protected:
int amount;
public:
Base(int n=0):araount(n)
int getAmount( )constretum amount;
;
class Derived:public Base
protected;
int value;
public:
Derived(int m,int n):value(n1),Base(n)
int getData( )constreturn value+amount;
;
已知x是一个Derived对象,则下列表达式中正确的是
A.value+x.getAmount( )
B.getData( )-x.getAmount( )
C.getData( )-x.amount
D.value+x.amount
答案
参考答案:B
解析: 在公有继承方式下,派生类对象可以访问派生类中的保护成员和公有成员,也可以访问基类中的公有成员,但不能访问基类的保护成员。运算表达式要求数据类型相同。