码迷,mamicode.com
首页 > 编程语言 > 详细

C++公有、私有、保护继承的关系

时间:2017-08-23 10:15:31      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:term   继承方式   实现   访问   cte   应该   特性   通过   之间   

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

公有继承(public)塑模出is-a关系

  适用于基类的每一件事情一定适用于派生类,每一个通过公有继承而来的派生类对象也是一个基类对象。

 

私有继承(private)意味着implemented-in-terms-of(根据某物实现出)

  当一个class B private继承 class A 用意是采用class A 已经拥有的某些特性,而不是两个类之间存在任何观念上的关系。

私有继承一般可以用复合来替代。复合可以塑模出has-a或implemented-in-terms-of(根据某物实现出)两种关系。当派生类

需要访问protected 的基类成员或者重新定义virtual函数,应该用private继承比较合理。

C++公有、私有、保护继承的关系

标签:term   继承方式   实现   访问   cte   应该   特性   通过   之间   

原文地址:http://www.cnblogs.com/kiplove/p/7415244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!