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