问题
单项选择题
已知3个类O、P和Q,类O中定义了一个保护方法F1和公有方法F2;类P中定义了一个公有方法F3,类P为类O的派生类;类O为类P的派生类,它们的继承方式如下,在关于类P的描述中正确的是 (1) ;在关于类Q的描述中正确的是 (2) 。
class P:private O(…)
class Q:protected P(…)
2()
A.类Q的对象可以访问F1、F2、和F3
B.类Q的对象可以访问F2和F3,但不能访问F1
C.类Q的成员可以访问F3,但不能访问F1和F2
D.类Q的成员不能访问F1、F2和F3
答案
参考答案:C
解析:
C++中,派生类对基类有三种继承方式:公有继承(Public)、私有继承(Private)和保护继承(Protected)。 · 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的。 · 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。 · 保护继承的特点是基类的所有公有成员和保护成员都作为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。