- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《空间数据结构基础》
课程实习报告(测绘10级)
姓名
班级
学号
环境与测绘学院
C++面向对象程序设计基础
【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。
【实验内容】
定义三维空间的坐标点TPoint
描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输出空间坐标等)。
【主要代码】
头文件:
TPoint.h:
#ifndef TPOINT_H
#define TPOINT_H
#includeiostream
using namespace std;
class TPoint
{
public:
TPoint(double xx,double yy,double zz):x(xx),y(yy),z(zz){}
TPoint(TPoint TP):x(TP.x),y(TP.y),z(TP.z){}
double getX()const{return x;}//取x坐标值
double getY()const{return y;}//取y坐标值
double getZ()const{return z;}//取z坐标值
void DisplayTP() const {cout(x,y,z)endl;}//显示点的三坐标
void Move(double Mx,double My,double Mz);//移动点的坐标
private:
double x,y,z;//点的三坐标
};
#endif
TBall.h
#ifndef TBALL_H
#define TBALL_H
#include TPoint.h
const double PI = 3.14159;
class TBall
{
public:
TBall(TPoint SC,double R):sphCtr(SC),r(R){}//构造函数
TBall(TBall TB):sphCtr(TB.sphCtr),r(TB.r){}
double getSurfArea()const;//计算球的表面积
double getVolume()const;//计算球的体积
TPoint getSphctr(){return sphCtr;}
double getRadius()const{return r;}//取球的半径
void Move(double Mx,double My,double Mz){sphCtr.Move(Mx,My,Mz);}//在空间坐标系内移动球
void ChangR(double newR){r = newR;}
void DisBallInfo()const;//显示球体的基本信息
private:
TPoint sphCtr;//球心坐标
double r;//球的半径
};
#endif
源文件:
Define.cpp:
#include iostream
#include TBall.h
using namespace std;
/////////////////TPoint////////////////////////////////
void TPoint::Move(double Mx,double My,double Mz)//移动点的坐标
{
x += Mx;
y += My;
z += Mz;
}
/////////////////TBall////////////////////////////////
double TBall::getSurfArea()const//计算球的表面积
{
return 4*PI*r*r;
}
double TBall::getVolume()const//计算球的体积
{
return (4.0/3)*PI*r*r*r;
}
void TBall::DisBallInfo()const//显示球体的基本信息
{
coutINFORMATION OF THIS BALL: endl;
cout\tSPHERICAL CENTRE: ;
sphCtr.DisplayTP();
cout\tRADIUS: rendl;
cout\tSURFACE AREA: getSurfArea()endl;
cout\tVOLUME
文档评论(0)