C++ 中私有继承的作用

来源:爱站网时间:2019-07-04编辑:网友分享
私有基类的私有成员只能由基类的成员函数按规定引用。不能在基类之外访问它们,因此它们在派生类中是隐藏的和不可访问的,下面爱站技术频道小编告诉大家C++ 中私有继承的作用。

      私有基类的私有成员只能由基类的成员函数按规定引用。不能在基类之外访问它们,因此它们在派生类中是隐藏的和不可访问的,下面爱站技术频道小编告诉大家C++ 中私有继承的作用。

C++ 中私有继承的作用

私有继承的

第一个规则:和公有继承相反,如果两个类之间的继承关系为私有,编译器一般不会将派生类对象转换成基类对象。

第二个规则: 从私有基类继承而来的成员都成为了派生类的私有成员,即使它们在基类中是保护或公有成员。

私有继承的含义:私有继承意味着 "用...来实现"。

如果使类D私有继承于类B,这样做是因为你想利用类B中已经存在的某些代码,而不是因为类型B的对象和类型D的对象之间有什么概念上的关系。

因而,私有继承纯粹是一种实现技术。

私有继承意味着只是继承实现,接口会被忽略。如果D私有继承于B,就是说D对象在实现中用到了B对象,仅此而已。
私有继承在软件 "设计" 过程中毫无意义,只是在软件 "实现" 时才有用。

1、私有继承的声明形式:    

  class  Foo  :  private  Bar 
   { 
      public: 
           void  fun(); 
     //  ... 
   };  

基类的公有和保护成员在派生类里都成为私有成员;承属于is-a关系的一部分,而私有继承属于has-a关系的一部分 

2、在架构上私有继承表达的是一种 'has   a '关系,但与聚合有以下不同:

      私有继承形式可能引入不必要的多重继承   

      私有继承形式允许访问基类的保护(protected)成员   

      私有继承形式允许派生类重写基类的虚函数(多态)

3、尽可能用组合,万不得已才用私有继承

      通常你不会想访问其他类的内部,而私有继承给你这样的一些的特权(和责任)。但是私有继承并不有害。只是由于它增加了别人更改某些东西时,破坏你的代码的可能性,从而使维护的花费更昂贵。

      本文是爱站技术频道小编介绍的C++ 中私有继承的作用,相信大家都了解了吧。爱站技术频道将在后面的日子里,继续为大家分享更多的知识。

上一篇:c++中的static修饰符示例详解

下一篇:Unity编辑器下重启的方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载