单选题
有如下类定义:
class B{
public:
void fun1(){}
private:
void fun2(){}
protected:
void fun3(){}
};
class D:public B{
protected:
void fun4(){}
};
若obj是类D的对象,则下列语句中不违反访问控制权限的是______。
【正确答案】
A
【答案解析】[解析] 本题考查派生类对基类成员的访问属性,基类成员在派生类中的访问属性如下表所示,因此本题选A,
基类中的属性
|
继承方式
|
在派生类中的访问方式
|
公有成员
|
公有继承
|
公有
|
保护成员
|
保护
|
私有成员
|
不可直接访问
|
公有成员
|
保护继承
|
保护
|
保护成员
|
保护
|
私有成员
|
不可直接访问
|
公有成员
|
私有继承
|
私有
|
保护成员
|
私有
|
私有成员
|
不可直接访问
|