c++课程设计c++课程设计.doc

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

C++面向对象程序设计基础 【实验简介】学会用算法语言C++描述抽象数据类型,使用模板建立数据结构。理解数据结构的组成分为两部分,第一部分是数据集(数据元素),第二部分是在此数据集上的操作。从面向对象的观点看,这两部分代表了对象的属性和方法。掌握用C++描述数据结构的基本方法,即通过建立类来描述抽象数据类型。类的数据成员提供对象属性,成员函数提供操作方法,方法是公共接口,用户通过调用方法实现对属性的访问。 【实验内容】 定义三维空间的坐标点TPoint 描述三维空间的球TBall,实现其主要操作(如计算体积和表面积,输出空间坐标等)。 【主要代码】 #include<iostream> using namespace std; #define PI 3.1415926 //定义PI的值 template <class T> //定义一个点的模板类 class Tpoint //空间直角坐标系中的点 { private: T x,y,z;//虚拟类型的坐标值 public: Tpoint() {x=0;y=0;z=0;} //缺省构造函数 Tpoint(T a,T b,T c) {x=a;y=b;z=c;}//带参数的构造函数 Tpoint(Tpoint &a); T getx(){return x;}//返回坐标点的x值 T gety(){return y;}//返回坐标点的y值 T getz(){return z;}//返回坐标点的值 T Tpointmove(T mx,T my,T mz) {x+=mx; y+=my; z+=mz;//移动位置(修改坐标值) } void input() {cout<<"请分别输入点的坐标x,y,z的值:"<<endl; cin>>x>>y>>z; } void output() { cout<<"("<<x<<","<<y<<","<<z<<")"<<endl; } Tpoint<T> operator=(Tpoint<T> &p1); }; template <class T> Tpoint<T>::Tpoint<T>(Tpoint<T> &p1) { x=p1.getx(); y=p1.getx(); z=p1.getz(); //取坐标值 } template <class T> Tpoint<T> Tpoint<T>::operator =(Tpoint<T> &p2) { x=p2.getx(); y=p2.getx(); z=p2.getz(); return *this; } template <class T> class Tball { private: Tpoint<T> m; double radius; public: Tball<T>() { radius=0;} Tball<T>(Tpoint<T> & zx,T zy) { m=zx; radius=zy;} T volume() {return (4.0/3)*PI*radius*radius*radius; } T area() {return 4*PI*radius*radius;} void setradius() { cout<<"请输入球的半径:"<<endl; cin>>radius; } void setTpoint() { cout<<"请输入球的圆心坐标"<<endl; m.input(); } void output() { cout<<"球的圆心坐标为"; m.output(); cout<<"球的半径为"<<radius<<endl; } void Tballmove(T mx,T my,T mz) { m.Tpointmove(mx,my,mz);} }; void main() { Tball<double> x1; x1.setradius(); x1.setTpoint(); cout<<"球的表面积为"<<x1.area()<<endl; cout<<"球的体积为"<<x1.volume()<<endl; x1.output(); system("pause"); } 【实验过程】 【实验体会】 先熟悉老师给的定义点坐标的平面类,然后利用模板类定义球面点坐标类,定义PI的值,根据类实现函数的重载等操作。在定义了球类后,设置一个点作为球的球心,并初始化球心坐标。然后,根据要求,分别设计球体面积和体积的算法公式

文档评论(0)

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

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

1亿VIP精品文档

相关文档