- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C++程序设计》
实验报告
实验名称: 继承与组合
姓 名: 钟玲
学 号:
专 业: 通信工程
实验时间: 2016.11.15
杭州电子科技大学
通信工程学院
一、实验目的
1. 了解继承在面向对象程序设计中的重要作用。
2. 进一步理解继承与派生的概念。
3. 掌握通过继承派生出一个新类的方法。
4. 了解虚基类的作用和用法。
5. 掌握类的组合。
实验内容
请先阅读下面的程序,分析程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确
4、 按下列要求编写程序。
(1)定义一个分数类score。 它有3个数据成员:
Chinese //语文课成绩
English //英语课成绩
Mathematics //数学课成绩
2个构造函数:无参的和带参数的。
3个成员函数:是否带参数根据需要自定。
sum () //计算三门课总成绩
prin() //输出三门课成绩和总成绩
modify() //修改三门课成绩
(2)定义一个学生类student。 它有3个数据成员:
Num //学号
Name //姓名
MyScore //成绩 I
2个构造函数:无参的和带参数的
3个成员函数:是否带参数根据需要自定。
Sum() //计算某学生三门课总成绩
Print() //输出某学生学号、姓名和成绩
modify() //修改某学生学号、姓名和成绩
(3)在主函数中,先定义一个学生类对象数组,再通过for循环给对象数组赋上实际值,最后输出对象数组各元素的值。
三、实验过程及实验结果
第1题:
程序1
#includeiostream
using namespace std;
class A
{
public:
A(){ coutA::A()called.\n; }
~A(){ coutA::~A()called.\n; }
};
class B:public A
{
public:
B(int i)
{
coutB::B()called.\n;
buf=new char[i];
}
virtual ~B()
{
delete []buf;
coutB::~B() called.\n;
}
private:
char *buf;
};
int main()
{
B b(10);
return 0;
}
实验结果:
程序2
#includeiostream
using namespace std;
class A{
public:
A(int a, int b):x(a), y(b){ coutA constructor...endl; }
void Add(int a, int b){ x+=a; y+=b; }
void display(){ cout(x,y); }
~A(){coutdestructor A...endl;}
private:
int x, y;
};
class B:private A{
private:
int i, j;
A Aobj;
public:
B(int a, int b, int c, int d):A(a, b), i(c), j(d), Aobj(1,1)
{ coutBconstructor..endl; }
void Add(int x1, int y1, int x2, int y2)
{
A::Add(x1, y1);
i+=x2; j+=y2;
}
void display(){
A::display();
Aobj.display();
cout(i,j(endl;
}
~B(){ coutdestructor B...endl;}
};
int main()
{
B b(1,2,3,4);
b.display();
b.Add(1,3,5,7);
b.display();
return 0;
}
实验结果:
程序3
#includeiostream
using namespace std;
class A{
public:
A(int a):x(a){ coutA constructor...xendl; }
in
您可能关注的文档
- 血性永远是军人的脊梁讲解.pptx
- AUTOCAD绘制减速器装配图2016重点.ppt
- 18-颐和园(完美版)讲义.ppt
- AutoCAD在工程管理的应用重点.ppt
- 18-颐和园讲义.ppt
- 18中国著名几何学家(下)讲义.doc
- 160万吨加氢装置关键质量控制点样本讲义.doc
- 175麦肯锡-黑龙江庆新油田业绩管理报告清华汉魅讲义.ppt
- 2015.06.08.0003-放射性泄漏气体检测技术现状(修改稿)讲义.doc
- 180tRH工艺技术研究及应用讲义.ppt
- 2025年工业互联网平台同态加密技术在数据安全防护中的应用策略报告.docx
- 2025年城市地下管廊智能巡检机器人应用领域政策支持与实施效果分析.docx
- 国际贸易复苏策略-洞察及研究.docx
- 2025-2026学年高中数学人教A版选修2-2-人教A版2007教学设计合集.docx
- 2025年城市地下管廊智能巡检机器人技术专利分析报告.docx
- 2025年工业机器人柔性制造系统应用中的机器人传感器应用与系统集成创新报告.docx
- 英文课件介绍.pptx
- 2025年K2教育STEM课程实施效果评估与教育评价体系构建研究报告.docx
- 2025年城市地下管廊智能巡检机器人应用市场前景与投资风险评估及对策.docx
- 2025年城市地下管廊智能监测系统产业链上下游协同效应分析.docx
文档评论(0)