C++的公有继承,私有继承,保护继承的区别
2016-09-13 23:09
274 查看
1.公有继承(public)
.基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象只能访问基类的public成员
2.私有继承(private)
.基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象不能直接访问基类中的任何成员
3.保护继承(protected)
.基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象不能直接访问基类中的任何成员
4.总结:
1)不管是公有继承,私有继承还是保护继承,派生类中的成员函数都可以直接访问基类中的public和protected成员,但不可以访问基类的private成员。
2)不同的继承只是对派生类的对象有限制。只有公有继承的派生类对象能访问基类的public成员。
.基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象只能访问基类的public成员
2.私有继承(private)
.基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象不能直接访问基类中的任何成员
3.保护继承(protected)
.基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问
.派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员
.通过派生类的对象不能直接访问基类中的任何成员
4.总结:
1)不管是公有继承,私有继承还是保护继承,派生类中的成员函数都可以直接访问基类中的public和protected成员,但不可以访问基类的private成员。
2)不同的继承只是对派生类的对象有限制。只有公有继承的派生类对象能访问基类的public成员。
相关文章推荐
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- C++中继承时公有继承,保护继承与私有继承有何区别
- c++ 公有继承、保护继承和私有继承的区别
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- C++ 公有继承、保护继承、私有继承的区别
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- C/C++ 公有继承、保护继承和私有继承的区别
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
- C++公有继承、私有继承和保护继承的区别
- C++继承:公有,私有,保护
- C#不存在私有继承和保护继承,只有公有继承,这点和C++相比还是简单了很多
- C++的私有继承、公有继承和保护继承
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- 关于C++中三种继承方式的讨论(公有继承,私有继承,保护继承)
- C++继承:公有,私有,保护
- C++继承:公有,私有,保护
- C++的私有继承、公有继承和保护继承
- C++的私有继承、公有继承和保护继承
- C++ 私有、保护、公有继承