当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C++类的担当与多重担当的拜候掌握[VC/C++编程]

赞助商链接



  本文“C++类的担当与多重担当的拜候掌握[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在前面的操练中我们一向在利用public的担当方法,即共有担当方法,关于protected和private担当方法,即保护担当与私有担当方法我们并没有谈论.

关于单个类来说,谈论保护担当与私有担当的辨别意义是不大的,他们的辨别只在多级担当的情形中表现.

在这里我声明一下,关于此章节的内容不太适实用过量的文字举行描写,主要还是看例子,通过例子熟习之间的关系,过量的文字描写会模糊读者思绪.

例程以下(重要部份都做了具体阐明):

//程序作者:管宁  
//站点:www.cndev-lab.com  
//全部稿件均有版权,如要转载,请务必闻名出处和作者  
 
#include<iostream> 
usingnamespacestd; 
 
classBase 
{ 
   public://公有的 
     inta1; 
     virtualvoidtest()=0; 
   protected://受保护的 
     inta2; 
   private://私有的 
     inta3; 
}; 
//------------------------------------------------------------------------------ 
classProtectedClass:protectedBase//保护担当 
{ 
   public: 
     voidtest() 
     { 
       a1=1;//a1在这里被改变成protected 
       a2=2;//a2在这里被改变成protected 
       //a3=3;//错误,派生类不能拜候基类的私有成员 
     } 
}; 
classControlProtectedClass:publicProtectedClass//以public方法担当ProtectedClass类 
{ 
   public: 
     voidtest() 
     { 
       a1=1;//a1在这里仍旧保持为a1在这里被改变成protected 
       a2=2;//a2在这里仍旧保持为a1在这里被改变成protected 
       //a3=3;//错误,由于Base类成员为私有的,即便是上级父类是保护担当,也不能改变Base类成员的掌握范例 
     } 
}; 
//------------------------------------------------------------------------------ 
classPrivateClass:privateBase//私有担当 
{ 
   public: 
     voidtest() 
     { 
       a1=1;//a1在这里被改变成private 
       a2=2;//a2在这里被改变成private 
       //a3=3;//错误,基类私有成员对文件区域与派生类区域都是不可拜候的 
     } 
}; 
classControlPrivateClass:publicPrivateClass//以public方法担当PrivateClass类 
{ 
   public: 
     voidtest() 
     { 
       //a1=1;//错误,由于基类PrivateClass为私有担当,a1已经改变成private 
       //a2=2;//错误,由于基类PrivateClass为私有担当,a1已经改变成private 
       //a3=3;//错误,由于Base类成员为私有的,PrivateClass类也为私有担当 
     } 
}; 
//------------------------------------------------------------------------------ 
classPublicClass:publicBase//共有担当有辨别与别的方法的担当,担当后的各成员不会其改变掌握方法 
{ 
   public: 
     voidtest() 
     { 
       a1=1;//a1仍旧保持public 
       a2=2;//a2仍旧保持protected 
       //a3=3;//错误,派生类不能操作基类的私有成员 
     } 
}; 
classControlPublicClass:publicPublicClass//以public方法担当PublicClass类 
{ 
   public: 
     voidtest() 
     { 
       a1=1;//a1仍旧保持public 
       a2=2;//a2仍旧保持protected 
       //a3=3;//错误,由于Base类成员为私有成员,即便是上级父类是公有担当,也不能改变Base类成员的掌握范例 
     } 
}; 
//------------------------------------------------------------------------------ 
intmain() 
{ 
   system("pause"); 
}

认真看完了例子,相信细心的读者关于共有担当、保护担当与私有担当的辨别与特点已经理解,最后再提醒一下读者,在担当关系中,基类的private成员不但对利用程序躲藏,即便是派生类也是躲藏不可拜候的,而基类的保护成员只对利用程序躲藏,关于派生类来说是不躲藏的,保护担当与私有担当在实际编程工作中利用是极端少见的,他们只在技术理论上有意义.


  以上是“C++类的担当与多重担当的拜候掌握[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: 与您的QQ/BBS好友分享!
  • 好的评价 如果您觉得此文章好,就请您
      0%(0)
  • 差的评价 如果您觉得此文章差,就请您
      0%(0)

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .