首页 > 试题广场 >

派生类只继承基类中的公有成员和保护成员,而不继承私有成员。

[单选题]
派生类只继承基类中的公有成员和保护成员,而不继承私有成员。
  • 正确
  • 错误
选b,private成员可以被子类继承,但是在语法上不可访问
发表于 2023-06-20 12:24:57 回复(0)

当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定。

 

1.如果子类从父类继承时使用的继承限定符是public,那么
(1)父类的public成员成为子类的public成员,允许类以外的代码访问这些成员;
(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员;
(3)父类的protected成员成为子类的protected成员,只允许子类成员访问;

 

2.如果子类从父类继承时使用的继承限定符是protected,那么

(1)父类的public成员成为子类的protected成员,只允许子类成员访问;
(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员;

(3)父类的public成员成为子类的protected成员,只允许子类成员访问

 

 

3.如果子类从父类继承时使用的继承限定符是private,那么(1)父类的public成员成为子类的private成员,只允许子类成员访问;

(2)父类的private成员仍旧是父类的private成员,子类成员不可以访问这些成员;

(3)父类的protected成员成为子类的private成员,只允许子类成员访问;
其实这些都很有的规律的,子类public时表示最大的继承权限是public,所以子类按照原样继承,子类protected继承时最大继承权限是protected, 所以基类的public成员降级成为protected了....子类private继承时所以都成为private了, 不过子类不能访问基类的private成员..


子类默认的是private继承基类...

发表于 2020-05-08 19:30:39 回复(0)
应该选B。
无论public,protected,private哪种继承方式,基类的private成员都会被继承,只是子类不可直接访问。
发表于 2019-11-14 21:16:57 回复(0)