C-空间三维点类型.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C-空间三维点类型

哈尔滨工业大学计算机科学与技术学院课程实验:空间三维点类型课程名称:算法设计与分析课程类型:必修一实验题目实验1:定义并实现一个平面点类Point,包含protected类型的数据成员m_x、m_y用于保存x轴、y轴两个坐标值,并具有如下数据成员:get_x()、get_y()用于获取x、y轴的坐标值set_x()、set_y()用于获取x、y轴的坐标值DisplayPoint()函数,用于输出点的全部信息(坐标等)主程序从键盘输入点的坐标值,程序结束前输出点的信息。实验2:从平面点类Point采用继承的方式,派生三维空间点类Point3D增加数据成员m_z(z轴坐标值)增加成员函数set_z()、get_z()用于设定或获取z轴坐标数值采用虚函数的方式重载DisplayPoint输出三维空间点的全部信息。主程序从键盘输入点的三维坐标值,程序结束前输出点的信息。实验3:定义并实现折线类Curve3D该类的对象拥有至少1个空间点(Point3D类型的数据,用指针与动态空间申请实现),以及记录点数量的数据成员编写带默认参数值的构造函数,折线默认的空间点为原点(0,0,0)编写析构函数;成员函数DisplayCurve用于输出折线的各个点的信息;成员函数CurveLen用于计算并输出折线长度;重载加号运算符+,可以将一个Point3D点增加到折线点序列中(表示将折线延长到改点处);重载减号运算符-,可以将一个Point3D点从折线点序列中删除(先在点序列中搜索,如果有要删除的点,就删除,如果没有,返回即可);重载赋值运算符= 解决浅拷贝问题;成员函数write_txt(ofstream os),实现将折线数据写入文本文件的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;成员函数read_txt(ifstream is),实现从文本文件读入折线数据的功能,文本文件每行保存一个点的三个坐标值,有多少个点,就有多少行;成员函数write_binary(ofstream os) ,实现将折线数据写入二进制文件的功能;成员函数read_binary(ifstream is) 实现从二进制文件读入折线数据的功能。二实现构思为了体现各个类的继承关系,同时也为了减少单独一个头文件的大小,分别使用三个头文件实现平面点类、三维点类以及三维折线类。1.平面点类 #include iostream#ifndefPoint_h#define Point_husing namespace std;class Point{public: Point():m_x(0),m_y(0){}; Point(float x, float y):m_x(x),m_y(y){}; ~Point(){};const float getx() { return m_x; }const float gety() { return m_y; } void setx(float xin) {m_x = xin;cout x is updated as m_x endl; return; } void sety(float yin) {m_y = yin;cout y is updated as m_y endl; return; } void DisplayPoint() {cout The position of the point is ( m_x , m_y ) endl; return; }protected: float m_x, m_y;};#endif // Point_h2.三维点类增加了成员变量m_z以及相应的设定、读取函数,重载了展示函数。 #include iostream #include Point.h#ifdefPoint_h#ifndef Point3D_h#define Point3D_hclass Point3D:public Point{protected: float m_z;public: Point3D():m_z(0){};Point3D(const Point3D){}; Point3D(float x,floaty,float z):Point(x,y),m_z(z){}; ~Point3D(){};const float getz() { return m_z; } void setz(float zin) {m_z = zin;cout z

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档