目录: 标题| 题干| 答案| 搜索| 相关
问题

A.类O、P和Q的对象都可以访问方法F3


A.类O、P和Q的对象都可以访问方法F3

  • A类O、P和Q的对象都可以访问方法F3
  • B类O、P和Q的对象都不可以访问方法F3
  • C类O和Q的对象都可以访问方法F3,但类P的对象不能访问方法F3
  • D类P和Q的对象都可以访问方法F3,但类Q的对象不能访问方法F3
参考答案
参考解析:

解析:解答此类试题的一般思路是掌握类的各种继承方式以及它们的访问权限。面向对象技术解决软件复用的途径之一是采用继承机制。在继承关系中存在着基类和派生类两种类型,访问控制方式主要有public(公有派生)、protected(保护派生)和private(私有派生)。基类中成员的访问权限在派生类中的继承关系如表1-10所示。根据试题中相关描述以及“classP:protectedO{…};”和“classQ:publicO{…};”语句,结合表1-10的继承关系可知,类P、Q的成员函数及其访问控制如表1-11所示。由试题的关健信息“类O中定义了一个私有方法F1”可知,方法F1是基类O的private(私有)成员。同时通过表1-10可知,类P、Q继承了F1方法,但其访问权限是private,结合表1-9最后一行的继承关系可得,只有在基类O的内部成员才能访问方法F1,而派生类P、Q的内部成员是不可访问方法F1的。因此问题(58)的正确答案是选项B。由于方法F2是基类O中定义的一个公有方法,由此可知基类O的对象可以访问方法F2,因此问题(59)选项D的描述是错误的。通过表1-10可知,类Q继承了F2方法,其访问权限也是public,因此派生类Q的对象可以访问方法F2。在表1-10中类P对方法F2的访问权限是protected,结合表1-9第4行的继承关系可得,派生类P的对象是不可访问方法F2的,只有在派生类P的的内部成员才可以访问方法F2。因此问题(59)的正确答案是选项C。同理,由于方法F2是基类O中定义的一个受保护的方法,通过表1-10可知,派生类P、Q对F3方法的访问权限均是protected,结合表1-9第5行的继承关系可得,基类O和派生类P、Q的对象都不能可访问方法F3,只有在类O、P、Q的内部成员才可以访问方法F3。因此问题(60)的正确答案是选项B。

分类:其他
相关推荐

1、使用()修饰符修饰的方法和变量只可以被类本身访问和调用。

使用()修饰符修饰的方法和变量只可以被类本身访问和调用。ApublicBprotectedCfriendlyDprivate

2、己知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受

己知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3:类P和类Q是类O的派生类,其继承方式如下所示:class P:protected O {…};class Q:p...

3、可以用p.a的形式访问派生类对象P的基类成员a,其中a是

可以用p.a的形式访问派生类对象P的基类成员a,其中a是A私有继承的公有成员B公有继承的私有成员C公有继承的保护成员D公有继承的公有成员

4、假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->

假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为p->b。()A正确B错误

5、派生类的对象对它的基类成员中()是可以访问的。

派生类的对象对它的基类成员中()是可以访问的。A公有继承的公有成员B公有继承的私有成员C公有继承的保护成员D私有继承的公有成员

6、已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受

已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q为类O的派生类,其继承方式如下所示:class P:protected O{…};class Q:pub...