已知3个类O、P和Q,类O中定义了一个保护方法F1和公有方法F2;类P中定义了一个公有方法F3,类P为类O的派生类;类O为类P的派生类,它们的继承方式如下,在关于类P的描述中正确的是(43);在关于类Q的描述中正确的是(44) 。 class

admin2014-11-11  36

问题 已知3个类O、P和Q,类O中定义了一个保护方法F1和公有方法F2;类P中定义了一个公有方法F3,类P为类O的派生类;类O为类P的派生类,它们的继承方式如下,在关于类P的描述中正确的是(43);在关于类Q的描述中正确的是(44)  。
    class  p  :  private O  {…)
    class Q  :  protected p(…)
(43)

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

答案C

解析 C++中,派生类对基类有三种继承方式:公有继承(Public)、私有继承(Private)和保护继承(Protected)。公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。保护继承的特点是基类的所有公有成员和保护成员都作为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
转载请注明原文地址:https://jikaoti.com/ti/0nf7FFFM
0

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