已知两个类R、S,类R中定义了一个私有方法F1和一个公有方法F2;类S中定义了一个公有方法 F3,类S为类R的派生类。它们的继承方式如下所示    class S:public R{…);    以下关于类S的描述中,正确的是(51)。

admin2009-02-15  51

问题 已知两个类R、S,类R中定义了一个私有方法F1和一个公有方法F2;类S中定义了一个公有方法 F3,类S为类R的派生类。它们的继承方式如下所示    class S:public R{…);    以下关于类S的描述中,正确的是(51)。

选项 A、类S的对象可以访问F1,但不能访问F2
B、类S的对象可以访问F2,但不能访问F1
C、类S的对象既可以访问F1,也可以访问F2
D、类S的对象既不能访问F1,也不能访问F2

答案B

解析 已知两个类R、S,类R中定义了一个私有方法F1和一个公有方法F2:类S中定义了一个公有方法F3,类S为类R的派生类。其中,访问控制包括:public(公有派生)、protected (保护派生)和private(私有派生)。基类中的访问权限在派生类中的继承关系如表3-7所示。

由于类R中定义了一个私有方法F1,类的私有成员只有在本类中才能访问,因此选项中凡出现“可以访问F1”都是错误的,据此排除选项A、C。
   S是采用public继承方式从类R中派生而来,那么类R中的所有公有成员都是类S的公有成员,在程序中的任何位置均可被访问,因此选项B是正确答案。
转载请注明原文地址:https://jikaoti.com/ti/eDW7FFFM
0

相关试题推荐
最新回复(0)