选择题
有如下类定义:
class B
{
public: void fun1() {}
private: void fun2() {}
protected: void fun3() {}
};
class D: public B
{
protected: void fun4() {}
};
若obj是类D的对象,则下列语句中不违反访问控制权限的是______。
A、
obj. fun1();
B、
obj. fun2();
C、
obj. fun3();
D、
obj. fun4();
【正确答案】
A
【答案解析】
本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。所以在本题中,在类外引用成员函数时,派生对象只能引用基类的公用成员函数fun1,故本题答案为A。
提交答案
关闭