C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
2014-08-05 18:59
387 查看
各种继承方式:
要点:
对于公有继承:基类的protected和public成员都是可见的。而且,使用公有继承,基类的公有成员将变为派生类的公有成语,基类的保护成员将变成派生类的保护成员,基类的私有成员将变为派生类的私有成员。
对于保护继承:使用保护继承时,基类的公有成员和保护成员都会变成派生类的保护成员。这就是保护继承和公有继承的最主要差别。
对于私有继承:私有继承时,基类的公有成员和保护成员都将成为派生类的私有成员!也就是说,使用私有继承时,第三代继承类将不能使用基类的接口(即public类成员),私有继承和保护继承的差别正是在此!
特征 | 公有继承 | 保护继承 | 私有继承 |
公有成员变为 | 派生类的公有成员 | 派生类的保护成员 | 派生类的私有成员 |
保护成员变为 | 派生类的保护成员 | 派生类的保护成员 | 派生类的私有成员 |
私有成员变为 | 仅仅能通过基类接口訪问 | 仅仅能通过基类接口訪问 | 仅仅能通过基类接口訪问 |
是否能隐式向上转换 | 能 | 能(但仅仅能在派生类中) | 不能 |
对于公有继承:基类的protected和public成员都是可见的。而且,使用公有继承,基类的公有成员将变为派生类的公有成语,基类的保护成员将变成派生类的保护成员,基类的私有成员将变为派生类的私有成员。
对于保护继承:使用保护继承时,基类的公有成员和保护成员都会变成派生类的保护成员。这就是保护继承和公有继承的最主要差别。
对于私有继承:私有继承时,基类的公有成员和保护成员都将成为派生类的私有成员!也就是说,使用私有继承时,第三代继承类将不能使用基类的接口(即public类成员),私有继承和保护继承的差别正是在此!
相关文章推荐
- C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
- C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)
- C++ 公有(public)继承,私有(private)继承,保护(protected)继承
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- C++学习日记18——C++继承: 公有public, 私有private, 保护protect
- C++公有继承(public)、私有继承(private)、保护继承(protected)详解
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- 对于C++中公有(public)、私有(private)、保护(protected),访问权限的一点总结
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- C++继承详解:共有(public)继承,私有(private)继承,保护(protected)继承
- public公有继承,protected保护继承,private私有继承
- C++学习笔记10,访问控制符public,protected,private(一)
- c++学习之公有继承私有继承保护继承
- C++学习笔记12,protected继承,保护继承(三)
- 【从C到C++学习笔记】类声明/公有私有保护成员/数据抽象和封装
- C++中的三种继承及public、private、protected继承特点总结
- C++ FAQ学习笔记 24章 继承 — 私有继承和保护继承
- 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。