C++中类的三种继承方式比较
(1)公有继承 (public继承)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然为私有的,不能被这个派生类的子类所访问。
(2)保护继承(proteced继承)
保护继承的特点是基类的所有公有成员和保护成员都作为派生类的保护成员,并且只能被它的派生类成员函数或友元函数访问,基类的私有成员仍然为私有的。
(3)私有继承(private继承)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
三种不同的继承方式的基类特性和派生类特性对比:
public | protected | private | |
public继承 | public | protected | 不可见 |
protected继承 | protected | protected | 不可见 |
private继承 | private | private | 不可见 |