问题 填空题

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

答案

参考答案:C

解析: 首先在“TestClass2中声明为protected的变量j为保护的数据成员。然后TestClass2保护继承于TestClass1,所以基类TestClass1中的公有成员和保护成员在派生类TestClass2中都成了保护成员。即get和set函数都成了保护成员。

单项选择题
单项选择题