- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12计_实验2
《C++面向对象程序设计》实验报告
实验序号:03 实验项目名称:类和对象
学 号 1207082124 姓 名 廖浩 专业 2012级物联网工程 实验地点 1#316 指导教师 施华 实验时间 2013/3/15 一、实验目的及要求
(1)理解类和对象的概念;
(2)了解C++在非面向对象方面对C功能的扩充与增强。
(3)初步掌握使用类和对象编制C++程序。
(4)掌握对象数组、对象指针和string类的使用方法。
(5)掌握使用对象、对象指针和对象引用作为函数参数的方法。
(6)掌握类对象作为成员的使用方法。
(7)掌握静态数据成员和静态成员函数的使用方法。
(8)理解友元的概念和掌握友元的使用方法。
二、实验设备(环境)及要求
Micorsoft Visual C++ 6.0
三、实验内容与步骤(题目、算法和结果描述)#includeiostream
using namespace std;
class Coordinate
{
public:
Coordinate(int x1,int y1)
{ x=x1;
y=y1; }
Coordinate(Coordinate p);
~Coordinate()
{ coutDestructor is called\n;}
int getx()
{ return x;}
int gety()
{ return y;}
private:
int x,y;
};
Coordinate::Coordinate(Coordinate p)
{
x=p.x;
y=p.y;
coutCopy-initialization Constructour is called\n;
}
int main()
{
Coordinate p1(3,4);
Coordinate p2(p1);
Coordinate p3=p2;
coutp3=(p3.getx(),p3.gety())\n;
return 0;
}
写出程序的运行结果。
【运行结果截图】:
将Coordinator类中带有两个参数的构造函数进行修改,在函数体内增添下列语句: cout”constructor is called.\n”;
【运行结果截图】:
【运行结果分析】:
按下列要求进行调试:在主函数体内,添加下列语句:
Coordinator p4;
Coordinator p5(2);
调试程序时会出现什么错误?为什么?如何对已有的构造函数进行适当修改?
【运行结果截图】:
【解释】:
经过以上第(2)步和第(3)步的修改后,结合运行结果分析:创建不同的对象时会调用不同的构造函数。
【运行结果分析】:
2、设计一个4*4魔方程序,让魔方的各行值的和等于各列值的和,并且等于两对角线的和,例如以下魔方,各行各列及两对角线值的和都是64.
31 3 5 25
9 21 19 15
17 13 11 23
7 27 29 1
【提示】:求4*4的魔方的一般步骤如下:
设置初始魔方的起始值和相邻元素之间的差值。例如上述魔方的初始魔方的起始值(first)和相邻元素之间的差值(step)分别为:first=1; step=2;
设置初始魔方元素的值,例如上述魔方的初始魔方为:
1 3 5 7
9 11 13 15
17 19 21 23
25 27 29 31
生成最终魔方。方法如下:
求最大元素值与最小元素值的和sum,该实例的sum是:1+31=32
用32减去初始魔方所有对角线上元素的值,然后将结果放在原来的位置,这样就可以求得最终魔方。
本题的魔法类magic的参考框架如下:
class magic
{public:
void getdata();
void getfirstmagic();
void generatemagic();
void printmagic();
private:
int m[4][4];
int step;
int first;
int sum;
}
【运行结果截图】:
3、设计一个用来表示直角坐标系的Location类,在主程序中创建类Location的两个对象A和B,要求A的坐标点在第3象限,B的坐标点在第2象限,分别采用成员函数和友元函数计算给定两个坐标点之间的距离,要求按如下格式输出结果:
A(x1,y1), B(x2,y2),
Distance1=d1
Distance2=d2
其中:x1、y1、x2、y2为指定坐
文档评论(0)