A-A+
有如下类定义: class B { public:void funl{} private:v
问题详情
有如下类定义: class B { public:void funl{} private:void fun2{} protected:void fun3{} }; class D:public B j protected:void fun4{} }; 若obj是类D的对象,则下列语句中不违反访问控制权限的是()。
A.obj.fun1;
B.obj.fun2;
C.obj.tim3;
D.ohj.fun4;请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。所以在本题中,在类外引用成员函数时,派生对象只能引用基类的公用成员函数fun1,故本题答案为A。