- 3
- 0
- 约3.06千字
- 约 8页
- 2018-05-03 发布于河南
- 举报
C第7章练习
C++练习
1 分析以下程序的执行结果
#includeiostream.h
class base
{
public:
base(){coutconstructing base classendl;}
~base(){coutdestructing base classendl; }
};
class subs:public base
{
public:
subs(){coutconstructing sub classendl;}
~subs(){coutdestructing sub classendl;}
};
void main()
{
subs s;
}
解:
本题说明单继承情况下构造函数和析构函数的调用顺序。这里base为基类,subs为派生类。
所以输出为:
constructing base class
constructing sub class
destructing sub class
destrcuting base class
注意:在单继承情况下,首先调用基类的构造函数 ,随后调用派生类的构造函数,析构函数的调用顺序则正好相反。
2 分析以下程序的执行结果:
#includeiostream.h
class base
{
int n;
public:
base(int a)
{
coutconstructing base classendl;
n=a;
coutn=nendl;
}
~base(){coutdestructing base classendl;}
};
class subs:public base
{
base bobj;
int m;
public:
subs(int a,int b,int c):base(a),bobj(c)
{
coutconstructing sub cassendl;
m=b;
coutm=mendl;
}
~subs(){coutdestructing sub classendl;}
};
void main()
{
subs s(1,2,3);
}
解:
本题说明 派生类中含有对象成员情况下构造函数和析构函数的调用顺序。这里base为基类,subs为派生类,subs类的构造函数中含有对象成员。
所以输出为:
constrcuting base class
n=1
constructing base class
n=3
constructing sub class
m=2
destructing sub class
destructing base class
destructing base class
注意:当派生类中含有对象成员时,构造函数的调用顺序如下:
1)基类的构造函数
2)对象成员的构造函数
3)派生类的构造函数
析构函数的调用顺序与之相反
3 分析以下程序的执行结果
#includeiostream.h
class A
{
public:
int n;
};
class B:public A{};
class C:public A{};
class D:public B,public C
{
int getn(){return B::n;}
};
void main()
{
D d;
d.B::n=10;
d.C::n=20;
coutd.B::n,d.C::nendl;
}
解:
D类是从类和类派生的而类和类又都是从类派生的,但各有自己的副本。所以对于对象d,d.B::n与d.C::n是两个不同的数据成员它们互无联系。
所以输出为:
10,20
4 分析以下程序的执行结果
#includeiostream.h
class A
{
public:
int n;
};
class B:virtual public A{};
class C:virtual public A{};
class D:public B,public C
{
int getn(){return B::n;}
};
void main()
{
D d;
d.B::n=10;
d.C::n=20;
coutd.B::n,d.C::nendl;
}
解:
D类是从类和类派生的而类和类又都是从类派生,但这是虚继承关系即是虚基类因此和共用一个的副本所以对于对象d,d.B::n与d.C::n是一个成员。
所以输出为:
20,20
5. 设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两
您可能关注的文档
- 1工程结算审计内容、方法及技巧天职国际姚刚(2006-11-9上午).ppt
- 广东异地就医系统相关代码规范.doc
- 问卷苏州市平江路户外环境活动调查.doc
- 九年级物理科试题.doc
- 国家战略能力与大国博弈.doc
- 土力学原理2.doc
- 小口水杯造型制作说明.doc
- 争优创先活动动员大会.doc
- 学会应用地形图(教学设计).doc
- 马月花信息技术与小学语文整合的途径探索.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 2025年北京第一次高中学业水平合格考物理试卷(含答案).pdf VIP
- 市政道路工程施工组织设计模版.doc VIP
- 15道公务员面试(国考)省级及以下机构重庆市网络信息类岗位面试问题考察点及参考回答.pdf VIP
- 跪拜土地阅读理解答案.docx VIP
- TAP检测项目介绍课件.ppt VIP
- 2025年综合类-心理治疗(师)-专业知识历年真题摘选带答案(5卷单选100题合辑).docx VIP
- 全国到地市矢量地图(很难找的资料)课件.pptx VIP
- 2025干部任前廉政知识考试题库及答案.pdf VIP
- 六年级上册期末道法知识点早读晚练小纸条.pdf VIP
- 质量管理小组活动推进指南(TCAQ10208-2024).docx
原创力文档

文档评论(0)