昨天一个家公司电面我,问了这个继承派生的问题,。这个问题几年前就没搞懂,现在还是不懂,当然我回答了一塌糊涂。现在我们再来复习一下,这次一定记住!!
查了那么多资料,还是百度上写的好。
公有继承(public)、
私有继承(private)、保护继承(protected)是常用的三种继承方式。
1. 公有继承(public)
2.
私有继承(private)
3. 保护继承(protected)
下面列出三种不同的继承方式的基类特性和
派生类特性。
public
|
protected
|
private
| |
公有继承
|
public
|
protected
|
不可见
|
私有继承
|
private
|
private
|
不可见
|
保护继承
|
protected
|
protected
|
不可见
|
为了进一步理解三种不同的继承方式在其成员的可见性方面的区别,下面从三种不同角度进行讨论。
公有方式
(1)
基类成员对其对象的可见性:
公有成员可见,其他不可见。这里保护成员同于私有成员。
公有成员和保护成员可见,而私有成员不可见。这里保护成员同于公有成员。
公有成员可见,其他成员不可见。
所以,
在公有继承时,
派生类
的对象可以访问
基类
中的公有成员;
派生类的成员函数可以访问基类中的公有成员和保护成员。这里,一定要区分清楚
派生类的对象和派生类中的成员函数对
基类的访问是不同的。
私有方式
(1) 基类成员对其对象的可见性:
公有成员可见,其他成员不可见。
(2) 基类成员对派生类的可见性:
公有成员和保护成员是可见的,而私有成员是不可见的。
(3) 基类成员对派生类对象的可见性:
所有成员都是不可见的。
保护方式
看到了没??怎么样 ?清楚了吧。百度上讲解的还是很好很好理解的。。