1
C++
面向对象程序设计基础
【实验简介?/p>
学会用算法语言
C++
描述抽象数据类型,使用模板建立数据结构。理解数?
结构的组成分为两部分?/p>
第一部分是数据集
(数据元素)
?/p>
第二部分是在此数据集上的操作?/p>
从面向对象的观点看,
这两部分代表了对象的属性和方法?/p>
掌握?/p>
C++
描述数据结构的基?/p>
方法?/p>
即通过建立类来描述抽象数据类型?/p>
类的数据成员提供对象属性,
成员函数
提供操作
方法,方法是公共接口,用
?/p>
?/p>
过调
用方?/p>
实现?/p>
属性的
访问
?/p>
【实验内容?/p>
1.
定义三维空间的坐标点
TPoint
2.
描述三维空间的球
TBall
,实现其主要操作(如计算体积和表面积,输出空间坐?
等)
?/p>
【主要代码?/p>
#include<iostream>
using namespace std;
#define PI 3.1415926
//
定义
PI
的?/p>
template <class T>
//
定义一个点的模板类
class Tpoint
//
空间直角坐标系中的点
{
private:
T x,y,z;
//
虚拟类型的坐标?/p>
X,Y
,Z
public:
Tpoint()
{x=0;y=0;z=0;}
//
缺省构造函?/p>
Tpoint(T a,T b,T c)
{x=a;y=b;z=c;}
//
带参数的构造函?/p>
Tpoint(Tpoint &a);
T getx(){return x;}
//
返回坐标点的
x
?/p>
T gety(){return y;}
//
返回坐标点的
y
?/p>
T getz(){return z;}
//
返回坐标点的
z
?/p>
T Tpointmove(T mx,T my,T mz)
{x+=mx;
y+=my;
z+=mz;
//
移动位置
(
修改坐标?/p>
)
}
void input()
{cout<<"
请分别输入点的坐?/p>
x,y,z
的值:
"<<endl;
cin>>x>>y>>z;
//
输入球面上一点的坐标?/p>
}
void output()
{
cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
}
Tpoint<T> operator=(Tpoint<T> &p1);
};