公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。
公有继承(public)
公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类所访问。
私有继承(private)
私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。
保护继承(protected)
保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。
public | protected | private | |
---|---|---|---|
public继承 | public | protected | 不可见 |
private继承 | private | private | 不可见 |
protected继承 | protected | protected | 不可见 |