- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验⼆
实验02:类与对象
实验学时:6+(6)
实验类型:验证
实验要求:必修
⼀、实验⽬的
类是C++扩展数据类型,可以封装不同类型的数据成员和函数成员,类是⾯向对象程序设计的基础。本次实验内容包括⾯向对
象的基本概念、构造函数与析构函数,从实际问题抽象出类等,通过实验要求:
1、理解类和对象的概念;
2、了解C++在⾮⾯向对象⽅⾯对C功能的扩充与增强。
3、初步掌握使⽤类和对象编制C++程序。
4、掌握对象数组、对象指针和string类的使⽤⽅法。
5、掌握使⽤对象、对象指针和对象引⽤作为函数参数的⽅法。
6、掌握类对象作为成员的使⽤⽅法。
7、掌握静态数据成员和静态成员函数的使⽤⽅法。
8、理解友元的概念和掌握友元的使⽤⽅法。
⼆、实验内容
1、输⼊下列程序。
#include
usingnamespacestd;
classCoordinate
{
public:
Coordinate(intx1,inty1)
{x=x1;
y=y1;}
Coordinate(Coordinatep);
~Coordinate()
{coutDestructoriscalled\n;}
intgetx()
{returnx;}
intgety()
{returny;}
private:
intx,y;
};
Coordinate::Coordinate(Coordinatep)
{
x=p.x;
y=p.y;
coutCopy-initializationConstructouriscalled\n;
}
intmain()
{
Coordinatep1(3,4);
Coordinatep2(p1);
Coordinatep3=p2;
coutp3=(
return0;
}
【运⾏结果截图】:
将Coordinator类中带有两个参数的构造函数进⾏修改,在函数体内增添下列语句:cout”constructoriscalled.\n”;
【运⾏结果截图】:
【运⾏结果分析】:
按下列要求进⾏调试:在主函数体内,添加下列语句:
Coordinatorp4;
Coordinatorp5(2);
调试程序时会出现什么错误?为什么?如何对已有的构造函数进⾏适当修改?【运⾏结果截图】:
【解释】:
经过以上第(2)步和第(3)步的修改后,结合运⾏结果分析:创建不同的对象
时会调⽤不同的构造函数。
【运⾏结果分析】:p1是调⽤有两个参数的构造函数,p2和p3都是p1的拷贝,但他们调⽤的是使⽤对象引⽤作为函数参数的
构造函数,p4和p5都是调⽤两个参数的构造函数,p4由于没有给出实参,所以使⽤默认参数。
2、设计⼀个4*4魔⽅程序,让魔⽅的各⾏值的和等于各列值的和,并且等于两对⾓线的和,例如以下魔⽅,各⾏各列及两对
⾓线值的和都是64.
313525
9211915
17131123
727291
【提⽰】:求4*4的魔⽅的⼀般步骤如下:
设置初始魔⽅的起始值和相邻元素之间的差值。例如上述魔⽅的初始魔⽅的起始值(first)和相邻元素之间的差值(step)分
别为:first=1;step=2;
设置初始魔⽅元素的值,例如上述魔⽅的初始魔⽅为:
1357
9111315
17192123
25272931
⽣成最终魔⽅。⽅法如下:
求最⼤元素值与最⼩元素值的和sum,该实例的sum是:1+31=32
⽤32减去初始魔⽅所有对⾓线上元素的值,然后将结果放在原来的位置,这样就可以求得最终魔⽅。
本题的魔法类magic的参考框架如下:
classmagic
{public:
voidgetdata();
voidgetfirstmagic();
voidgeneratemagic();
voidprintmagic();
intm[4][4];
intstep;
intfirst;
intsum;
}
【运⾏结果截图】:
3、设计⼀个⽤来表⽰直⾓坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B
的坐标点在第2象限,分别采⽤成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:
A(x1,y1),B(x2,y2),
Distance1=d1
Distance2=d2
其中:x1、y1、x2、y2为指定坐标值,d1和d2为两个坐标点之间
您可能关注的文档
- 最新人教版九年级英语全册Unit9单元综合考试练习及答案(精品试卷).pdf
- 廊坊市社区工作者考试题库2023 .pdf
- 2024年北京市成考(专升本)计算机应用基础预测试题含解析 .pdf
- 如何开发单体药店的条件和流程 .pdf
- 国家开放大学电大《计算机组网技术》机考2套标准题库及答案3 .pdf
- 【教育学习文章】高三政治选修1《中国社会主义建设道路的探索》知识点.pdf
- 2023年度注册会计师(CPA)《税法》近年真题汇编(含答案) .pdf
- 培训补贴指引 .pdf
- LinkedAIOps开启AIOps智能运维 .pdf
- 2023高考甲卷语文卷子解析 .pdf
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)