【例5.11】多继承中构造函数和析构函数的调用顺序
【例5.11】多继承中构造函数和析构函数的调用顺序
#include<iostream.h>
class OBJ1
{
public:
OBJ1(){cout<<"OBJ1\n";}
~OBJ1(){cout<<"destructing OBJ1"<<endl;}
};
class OBJ2
{
public:
OBJ2(){ cout<<"OBJ2\n"; }
~OBJ2(){cout<<"destructing OBJ2"<<endl;}
};
class Base1
{
public:
Base1(){ cout<<"Base1\n"; }
~Base1(){cout<<"destructing Base1"<<endl;}
};
class Base2
{
public:
Base2(){ cout<<"Base2\n"; }
~Base2(){cout<<"destructing Base2"<<endl;}
};
class Base3
{
public:
Base3(){ cout<<"Base3\n"; }
~Base3(){cout<<"destructing Base3"<<endl;}
};
class Base4{
public:
Base4(){ cout<<"Base4\n"; }
~Base4(){cout<<"destructing Base4"<<endl;}
};
class Derived:public Base1,virtual public Base2,public Base3,virtual public Base4
{
public:
Derived():Base4(),Base3(),Base2(),Base1(),obj2(),obj1() {
cout <<"Derived ok.\n";
}
~Derived(){cout<<"destructing Derived"<<endl;} protected:
OBJ1 obj1;
OBJ2 obj2;
};
void main()
{
Derived aa;
}
程序的运行结果为:
Base2
Base4
Base1
Base3
OBJ1
OBJ2
Derived ok.
destructing Derived
destructing OBJ2
destructing OBJ1 destructing Base3 destructing Base1 destructing Base4 destructing Base2
相关推荐:
- [初中教育]婚姻家庭法学教学教案
- [初中教育]浅谈小学语文教学中的创新教育
- [初中教育]中华人民共和国侵权责任法2009
- [初中教育]2016-2022年中国薄膜太阳能电池行业发
- [初中教育]多级轻型井点降水的应用
- [初中教育]外语教学法流派介绍和简评
- [初中教育]实验一、典型环节及其阶跃响应
- [初中教育]内蒙古2012-2013学年度国家奖学金获奖
- [初中教育]移动通信营销渠道管理探讨
- [初中教育]初三化学第一学期第一第二章基础知识点
- [初中教育]一天的食物教学设计
- [初中教育]光导照明系统的基本结构及工作原理
- [初中教育]长春市十一高、东北师范大学附属中学、
- [初中教育]“十三五”规划重点-配重式装卸车项目
- [初中教育]领导方法和领导艺术
- [初中教育]第三章 植物病虫草鼠害诊断与防治基
- [初中教育]2019届九年级语文上册 第二单元 6纪念
- [初中教育]甲级单位编制水豆腐项目可行性报告(立
- [初中教育]Ch8-1补充 09101数据库系统原理及应用-
- [初中教育]2017-2023年中国吊装设备行业市场分析
- 制作毕业纪念册需要哪些材料
- 2015-2016学年高二化学苏教版选修4课件
- 哈佛管理导师-创建商业案例
- 职场交际中的谈吐礼仪知识与职场会议接
- 中国糕点及面包行业发展现状与竞争战略
- 沂河“12·7”洪水茶山拦河坝
- 管道水流量计算公式
- 4-2发电机火灾事故处置方案
- 数字信号处理实验五
- 2009年经济师(中级)金融专业知识全真试
- 历史街区保护规划--04历史文化遗产保护
- 宁夏回族自治区中小学职称评价标准
- 评先评优测评表
- 圆的切线证明及线段长求解在在中考中的
- 【解析版】2015年江苏省南京外国语学校
- 人教版八年级上册科学第一章习题精华
- 责任心与执行力
- SA8000社会责任管理体系标准培训
- IgA肾病的饮食应注意
- 杭州市建设工程文件归档整理方案(试行)




