问题
填空题
有如下类声明: 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函数都成了保护成员。