问题
单项选择题
有如下类声明:
class MyBASE
int k;
public:
void set(int n) k=n;
int get()const return k; ;
class MyDERIVED:protected MyBASE
protected:
intj;
public:
void set(int m,int n)MyBASE::set(m);j=n;
int get0const return MyBASE::get()+j;
;
则类MyDERIVED中保护的数据成员和成员函数的个数是( )。
A) 4
B) 3
C) 2
D) 1
答案
参考答案:B
解析: 因为在保护继承的情况下,基类中的公有成员void set(int n)和int get()const在派生类中是保护成员,再加上派生类自身的保护成员i,一共是三个保护成员。