数据结构上机指导书-第1次上机实验指导书

数据结构上机指导书-第1次上机实验指导书

ID:46690126

大小:54.50 KB

页数:7页

时间:2019-11-26

数据结构上机指导书-第1次上机实验指导书_第1页
数据结构上机指导书-第1次上机实验指导书_第2页
数据结构上机指导书-第1次上机实验指导书_第3页
数据结构上机指导书-第1次上机实验指导书_第4页
数据结构上机指导书-第1次上机实验指导书_第5页
资源描述:

《数据结构上机指导书-第1次上机实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第1章C++面向对象程序设计基础本章实验目的:学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。熟练掌握C++程序的编制、调试和运行方法,为本课程的实验做好准备。学习重点:理解数据结构的纟R成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的菇本方法,即通过建立类来描述抽彖数据类型。类的数扌居成员提供对象属性,成员函数提供操作方法,方法是公共接口,用八通过调用方法实现対属性的访问。一、C++面向对象程序

2、设计范例1.二维坐标点point的C++描述【实验目的】用面向対象的方法定义一个简单的抽象数据结构,本例实验内容为坐标点的数据结构。学会如何川C++语言描述数据结构和算法,理解将数据集和在此数据集上的操作分开描述的方法。【数据结构】将坐标点数据结构定义为一个C++类Point,在其内部分别定义数据成员和成员函数。(1)数据成员:一个平面直角处标系中的点有两个属性,它们是x轴上的水平处标值和y轴上的垂直坐标值。在Point类屮,这两个属性分别由数据成员x和y來表示,定义为double类型的私有数据成员。(2)操作

3、方法:定义成员函数,为类的使用者提供服务接口。先设计允许对点对象进行的操作,再用C++描述实现操作的算法,并定义为类Point的成员函数。在本例屮提供了两个操作:move()函数将一个Point对象移至另一位置,Show()函数输出Point对象的数据成员值。两个构造函数,分别用于建立缺省参数的对象和带参数的对象。【算法提示】缺省构造函数Point()将新建立的坐标点对象初始化为原点位置(0,0)o带参数的构造函数Point(doublcpx,doublepy)允许用户建立对象时指定初始坐标位置。点对象的移动操

4、作move()函数需耍在调用时给出新位置参数。输出坐标值为无参函数。以下是平面直角坐标系中的点的类定义,main()

5、^

6、数对类Point的属性和操作进行测试。【程序1.1]#includeclassPoint)〃平面直角坐标系中的点private:doublex;〃水平处标值doubley;〃垂直坐标值public:Point(){x=0;y=0;}〃缺省构造函数Point(doublepx,doublepy){x=px;y=py;}〃带参数的构造函数voidmove(doublemx

7、,doublemy){x=mx;y=my;}//移动位置(修改处标值)voidShow(){cout«,,x="«x<<',<<"y=,,«y«endl;}//输出坐标值};voidmain(){Pointa,b(12.5,34.8);〃建立两个Point对彖comvv"点a的位置:”;a.Show();//输出点a的处标值coutvv”点b的位置:”;b.Show();//输岀点b的处标值a.move(45.6,57.8);comvv"点a移动后的位置:”;a.Show();//输出点a的处标值)1.使用模板

8、建立坐标点point的数据结构,直接表示抽象数据类型【实验目的】将程序1.1数据结构的类型参数化(模板),实现更高层次的数据抽象。【算法提示】Point的数据成员不使用固定的类型定义,而是用typename说明的虚拟类型名ptType作为变最的类型,在定义Point类的对象时,再用C++的基本类型将对象的数据成员的类型实例化。这样做的好处是可以使用同一个类來定义不同数据类型的对象,提高代码的利用率。【程序1.2】templateclassPoint{〃平面直角坐标系中的点priv

9、ate:ptTypex;〃虚拟类型的水平坐标值ptTypey;〃虚拟类烈的垂直坐标值public:Point(){x=0;y=0;}〃缺省构造函数Point(ptTypepx,ptTypepy){x=px;y=py;}〃带参数的构造函数voidmove(ptTypemx,ptTypemy){x=mx;y=my;}//移动位置(修改坐标值)voidShow(){cout«"x="«x<<''<<"y="«y«endl;}//输出坐标值};voidmain(){Pointa(24,36);〃建立整型的Po

10、int对象Pointb(12・5,34.8);//建立浮点型的Point对彖coutvv”点a的位置:”;a.Show();〃输出点a的处标值cout«"点b的位置:”;b.Show();〃输出点b的坐标值a.move(25,18);coutvv"点a移动后的位置:”;a.Show();〃输出点a的处标值b.move(45.6,57.8);cout«"点b移动后的位置:”

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。