设为首页 加入收藏

TOP

VC++深入详解:多重继承
2014-10-29 10:30:11 来源: 作者: 【 】 浏览:59
Tags:深入 详解 多重 继承

  如同该名字中所描述的,一个类可以从多个基类中派生。在派生类由多个基类派生的多重继承模式中,基类是用基类表语法成分来说明的,多重继承的语法与单一继承很类似,只需要在声明继承的多个类之间加上逗号来分隔,定义形式为:


  class派生类名:访问权限 基类名称,访问权限 基类名称,访问权限 基类名称


  {


  ……


  };


  例如B类是由类C和类D派生的,可按如下方式进行说明:


  class B:public C, public D


  {


  ……


  }


  基类的说明顺序一般没有重要的意义,除非在某些情况下要调用构造函数和析构函数时,在这样的情况下,会有一些影响。


  n 由构造函数引起的初始化发生的顺序。如果你的代码依赖于B的D部分要在C部分之前初始化,则此说明顺序将很重要,你可以在继承表中把D类放到C类的前面。初始化是按基类表中的说明顺序进行初始化的。


  n 激活析构函数以做清除工作的顺序。同样,当类的其他部分正在被清除时,如果某些特别部分要保留,则该顺序也很重要。析构函数的调用是按基类表说明顺序的反向进行调用的。


  虽然,多重继承使程序编写更具有灵活性,并且更能真实地反映现实生活,但由此带来的麻烦也不小。我们看例2-15所示的程序(EX07.CPP):


  例2-15


  1. #include


  2. class B1


  3. {


  4. public:


  5. void output();


  6. };


  7. class B2


  8. {


  9. public:


  10. void output();


  11.};


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC判断目录是否存在 下一篇VC++深入详解:引用的应用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: