问题
单项选择题
有如下程序:
#include < iostream >
using namespaee std;
class Base
private :
void fun1() const cout << "fun1" ;
protected :
void fun2 () const cout << "fun2" ;
publie:
void fun3 () const cout << "fun3" ;
;
class Derived : protected Base
public :
void fun4 () const cout << "fun4" ;
;
int main()
Derived obj ;
obj. fun1() ;//①
obj. fun2() ;//②
obj. fun3() ; //③
obj. fun4() ; //④
return 0 ;
其中的语法错误的语句是( )。
A) ①②③④
B) ①②③
C) ①②③④
D) ①④
答案
参考答案:B
解析: 本题考查保护继承中派生类对基类的访问属性,受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,保护基类的所有成员在派生类中都被保护起来,在类外不能访问,所以①②③错误。