设为首页 加入收藏

TOP

4.6.2 多重继承的声明
2013-10-07 01:16:17 来源: 作者: 【 】 浏览:66
Tags:4.6.2 多重 继承 声明

4.6.2  多重继承的声明

C++(www.cppentry.com)中,类的多重继承与单继承的声明相似,其一般形式是:

  1. class 派生类名:继承方式1 基类1,…继承方式n 基类n  
  2. { } 

在多重继承中,派生类的构造函数要进行基类的初始化工作,因此如果任何一个基类的构造函数含有参数,那么派生类必须添加构造函数。构造函数的执行顺序是先执行基类的构造函数,再执行派生类的构造函数。同一层次的基类的执行顺序与声明时的顺序有关。析构函数的执行与构造函数的顺序相反。

说明:多重继承可以从多个基类进行继承,而且基类之间也可以存在继承关系。

【示例4.22】 是多重继承的使用实例。

  1. #include"iostream.h"  
  2. class A                             //声明类A  
  3. {  
  4. public:  
  5.     A()  
  6.     {cout<<"基类A的构造函数"<<endl;}  
  7.     ~A()  
  8.     {cout<<"基类A的析构函数"<<endl;}  
  9. };  
  10. class B                             //声明类B  
  11. {  
  12. public:  
  13.     B()  
  14.     {cout<<"基类B的构造函数"<<endl;}  
  15.     ~B()  
  16.     {cout<<"基类B的析构函数"<<endl;}  
  17. };  
  18. class C:public A,public B           //多重继承,C在类A和类B继承  
  19. {  
  20. public:  
  21.     C()  
  22.     {cout<<"派生类C的构造函数"<<endl;}  
  23.     ~C()  
  24.     {cout<<"派生类C的析构函数"<<endl;}  
  25. };  
  26. void main()  
  27. {  
  28.     C p;                            //定义类C的对象  

运行结果如下所示。

  1. 基类A的构造函数  
  2. 基类B的构造函数  
  3. 派生类C的构造函数  
  4. 派生类C的析构函数  
  5. 基类B的析构函数  
  6. 基类A的析构函数 

分析:派生类C是从A和B继承派生,声明时先声明继承A,又声明继承B,因此先执行A的构造函数,再执行B的构造函数,最后执行派生类C的构造函数。析构函数与构造函数的执行顺序相反。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.6.1 继承和多重继承概述 下一篇4.7 多态的基本概念

评论

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