有如下程序: #include using namespace std; class Base { private: void funl()eonst{eout

admin2019-08-23  37

问题 有如下程序:
#include
using namespace std;
class Base
{
private:
void funl()eonst{eout<<’’funl’’;}
protected:
void fun2()eonst{eout<<’’fun2’’;}
public:
void fun3()eonst{cout<<’’fun3’’;}
};
class Derived:protected Base
{
public:
void fun4()eonst{cout<<’’fun4’’;}
};
int main()
{
Derived obj;
obj.fun1();//①
obi.fun2();//②
obi.fun3();//③
obj.fun4();//④
}  
其中有语法错误的语句是(    )。

选项 A、①②③④
B、①②③
C、②③④
D、①④

答案B

解析 本题考查保护继承中派生类对基类的访问属性,受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,保护基类的所有成员在派生类中都被保护起来,在类外不能访问,所以①②③错误。
转载请注明原文地址:https://jikaoti.com/ti/0BA0FFFM
0

最新回复(0)