实验二——精选推荐 .pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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为两个坐标点之间

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档