C++中三种继承方式详解
1.三种方式
C++中有三种继承方式;
- public
- protected
- private
这三种方式各有各的特点,下面就来讨论一下吧。
1.1 public继承方式
父类 | 子类 |
---|---|
public | public |
protected | protected |
private | NO WAY! |
1.2 protected继承方式
父类 | 子类 |
---|---|
public | protected |
protected | protected |
private | NO WAY! |
protected是一个比较有趣的访问控制关键字,在没有使用到继承关系的代码中,protected和private功能相同,即不对外开放接口,只能在成员函数中进行访问。而在使用继承关系的代码中,则能继承给子类。
1.3 private继承方式
父类 | 子类 |
---|---|
public | private |
protected | private |
private | NO WAY! |
2.总结
其实三种继承方式很容易区分,满足一下几个特点:
- private访问控制成员,不可继承
- public继承方式,保持原有方式不变
- protected和private继承方式对所有访问控制成员进行相应的变化,即protected –> protected,private –> private