空間数据结构基础.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
空間数据结构基础

《空间数据结构基础》 上机实验报告(2010级) ? ? 姓名 詹雷 班级测绘10-3班 学号 ? ? ? ? 环境与测绘学院 ? ? ? 1?????????????C++面向对象程序设计基础 【实验简介】 学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。 【实验内容】 1.定义三维空间的坐标点Tpoint。 2.用面向对象的方法定义一个简单的抽象数据结构,本例实验内容为坐标点的数据结构。学会如何用C++语言描述数据结构和算法,理解将数据集和在此数据集上的操作分开描述的方法。 3.使用模板建立坐标点point的数据结构,直接表示抽象数据类型。将程序1.1数据结构的类型参数化(模板),实现更高层次的数据抽象。 【主要代码】 程序1.1: #include iostream.h #includepoint.h class Point { private: double x; double y; public: Point(){x = 0; y = 0; } Point(double px,double py){x = px;y = py;} void move(double mx,double my){x = mx;y = my;} void Show(){coutx=x y=yendl;} }; void main() { Point a,b(12.5,34.8); cout点a的位置:; a.Show(); cout点b的位置:; b.Show(); a.move(45.6,57.8); cout点a移动后的位置:; a.Show(); } 程序1.2: #include iostream.h #includepoint1.h template typename ptType class Point { private: ptType x; ptType y; public: Point(){x = 0; y = 0; } Point(ptType px, ptType py){x = px;y = py;} void move(ptType mx,ptType my){x = mx;y = my;} void Show(){coutx=x y=yendl;} }; void main() { Point int a(24,36); Point float b(12.5,34.8); cout点a的位置:; a.Show(); cout点b的位置:; b.Show(); a.move(25,18); cout点a移动后的位置:; a.Show(); b.move(45.6,57.8); cout点b移动后的位置:; b.Show(); } 【实验过程】 1.将坐标点数据结构定义为一个C++类Point,在其内部分别定义数据成员和成员函数。 1.数据成员:一个平面直角坐标系中的点有两个属性,它们是x轴上的水平坐标值和y轴上的垂直坐标值。在Point类中,这两个属性分别由数据成员x和y来表示,定义为double类型的私有数据成员。 2.操作方法:定义成员函数,为类的使用者提供服务接口。先设计允许对点对象进行的操作,再用C++描述实现操作的算法,并定义为类Point的成员函数。在本例中提供了两个操作:move()函数将一个Point对象移至另一位置,Show()函数输出Point对象的数据成员值。两个构造函数,分别用于建立缺省参数的对象和带参数的对象。 (算法提示)缺省构造函数Point()将新建立的坐标点对象初始化为原点位置(0,0)。带参数的构造函数Point(double px,double py)允许用户建立对象时指定初始坐标位置。点对象的移动操作move()函数需要在调用时给出新位置参数。输出坐标值为无参函数。 3. point的数据成员不使用固定的类型定义,而是用typename说明的虚拟类型名ptType作为变量的类型,在定义Point类的对象

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档