首页 > 试题广场 > 对于继承方式和可见性,下面哪一种说法是错误的?
[单选题]
对于继承方式和可见性,下面哪一种说法是错误的?

  • 继承方式有3种选择:私有、公有和保护,继承方式决定了基类成员在派生类中的可见性
  • 默认为私有继承,但常用的却是公有继承
  • 无论哪一种继承方式,派生类中都不能访问其基类中的私有成员,但能访问基类中的保护成员和公有成员
  • 在公有继承方式中,派生类没有继承基类的私有成员
推荐
本题选D
  • A.公有继承意味着继承派生类的类能访问基类的公有和保护成员。私有继承意味着继承派生类的类也不能访问基类的成员。保护继承意味着继承派生类的类能访问基类的公有和保护方法。A选项表述正确。
  • B.默认为私有继承,但常用的却是公有继承。B选项表述正确。
  • C.基类的私有成员在派生类中都是不可见的,如果一个派生类要访问基类中声明的私有成员,可以将这个派生类声明为友元。C选项表述正确。
  • D.公有继承时,同样继承了基类的私有成员,对基类的公有成员和保护成员的访问属性不变,派生类的新增成员可以访问基类的公有成员和保护成员,但是访问不了基类的私有成员。派生类的对象只能访问派生类的公有成员(包括继承的公有成员),访问不了保护成员和私有成员。
编辑于 2020-02-18 14:14:04 回复(0)
<p>默认为私有或者公有,这个得看基类。</p>
发表于 2020-05-28 16:37:15 回复(0)
本题选择AD

1) public继承方式

·       基类中所有public成员在派生类中为public属性;

·       基类中所有protected成员在派生类中为protected属性;

·       基类中所有private成员在派生类中不可访问。


2) protected继承方式

·       基类中的所有public成员在派生类中为protected属性;

·       基类中的所有protected成员在派生类中为protected属性;

·       基类中的所有private成员在派生类中仍然不可访问。


3) private继承方式

·       基类中的所有public成员在派生类中均为private属性;

·       基类中的所有protected成员在派生类中均为private属性;

·       基类中的所有private成员在派生类中均不可访问。

所以无论哪一种继承方式,基类中private成员在派生类中均不可见,A错
值得注意的是,基类中private成员也会被继承下来,只是派生类不能访问而已,D错
编辑于 2020-03-12 10:32:58 回复(1)