问题 单项选择题

有如下类声明: class MyBASE {  int k:  public;  void set(int n){k=n;}  int get() const{return k;} }; class MyDERIVED: protected MyBASE {  protected:  int j;  public:  void set(int m, int n){MyBASE::set(m);j=n;}  int get() const{return MyBASE::get()+j;} }; 则类MyDERIVED中保护的数据成员和成员函数的个数是( )。

A.4

B.3

C.2

D.1

答案

参考答案:B

解析: 因为在保护继承的情况下,基类中的公有成员void set(int n)和int get() const在派生类中是保护成员,再加上派生类自身的保护成员j,一共是三个保护成员。

单项选择题 A1/A2型题
填空题