大一C++题目 求高手解答!!急!!高分!!在线等!!

定义一个用于表示三维空间中点的类MyPoint,如下图所示
class MyPoint
{
private:
double XCoord;
double YCoord;
double ZCoord;

public:
Mypoint(double x=0.0, double y=0.0, double z=0.0);
Mypoint(double Data[3]);
//点移动操作,三个坐标方向的移动分量分别为xOffset,yOffset.zOffset
void Move(double xOffset,double yOffset,double zOffset);
//点移动操作。三个坐标方向的移动分量分别为参数T的三个坐标分量数值
void Move(consr Mypoint&T);
void Show() const;
};

2.按照上述类定义的结果和相关要求,实现上述Mypoint类中所有成员函数的定义
3.编写主函数 验证上述Mypoint类定义的结果是否正确。主函数相关操作要求顺序如下:
(1)在不提供任何参数条件下定义一个Mypoint对象P1
(2)定义一个Mypoint对象P2,定义形式要求为P2(a).其中a为长度等于3的double型数组,依次存放了对象初始化时的三个坐标分量数值(10.0,10.0,10.0)
(3)分别显示P1P2的值
(4)进行P1.Move(2.0,3.0,4.0)的操作
(5)显示P1的值
(6)进行P2.Move(P1)的操作
(7)显示P2的值

#include<iostream>
using namespace std;
class MyPoint
{
private:
double XCoord;
double YCoord;
double ZCoord;

public:
MyPoint(double x=0.0, double y=0.0, double z=0.0);
MyPoint(double Data[3]);
//点移动操作,三个坐标方向的移动分量分别为xOffset,yOffset.zOffset
void Move(double xOffset,double yOffset,double zOffset);
//点移动操作。三个坐标方向的移动分量分别为参数T的三个坐标分量数值
void Move(const MyPoint&T);
void Show() const;
};
MyPoint::MyPoint(double x, double y, double z):XCoord(x),YCoord(y),ZCoord(z){}
MyPoint::MyPoint(double Data[3])
{
XCoord=Data[0];
YCoord=Data[1];
ZCoord=Data[2];
}
void MyPoint::Move(double xOffset,double yOffset,double zOffset)
{
XCoord+=xOffset;
YCoord+=yOffset;
ZCoord+=zOffset;
}
void MyPoint::Move(const MyPoint&T)
{
XCoord+=T.XCoord;
YCoord+=T.YCoord;
ZCoord+=T.ZCoord;
}
void MyPoint::Show() const
{
cout<<"XCoord="<<XCoord<<" ";
cout<<"YCoord="<<YCoord<<" ";
cout<<"ZCoord="<<ZCoord<<" ";
cout<<endl;
}
int main()
{
MyPoint P1;
double a[3]={10.0,10.0,10.0};
MyPoint P2(a);
cout<<"P1:"<<" ";
P1.Show();
cout<<"P2:"<<" ";
P2.Show();
P1.Move(2.0,3.0,4.0);
cout<<"P1.Move(2.0,3.0,4.0):"<<" ";
P1.Show();
P2.Move(P1);
cout<<"P2.Move(P1):"<<" ";
P2.Show();
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-02
#include <iostream>
using namespace std;

class Mypoint
{
private:
double XCoord;
double YCoord;
double ZCoord;

public:
Mypoint(double x=0.0, double y=0.0, double z=0.0);
Mypoint(double Data[3]);
//点移动操作,三个坐标方向的移动分量分别为xOffset,yOffset.zOffset
void Move(double xOffset,double yOffset,double zOffset);
//点移动操作。三个坐标方向的移动分量分别为参数T的三个坐标分量数值
void Move(const Mypoint &T);
void Show() const;
};

Mypoint::Mypoint(double x, double y, double z):XCoord(x),YCoord(y),ZCoord(z)
{
}

Mypoint::Mypoint(double Data[3]):XCoord(Data[0]),YCoord(Data[1]),ZCoord(Data[2])
{
}

void Mypoint::Move(double xOffset,double yOffset,double zOffset)
{
XCoord+=xOffset;
YCoord+=yOffset;
ZCoord+=zOffset;
}

void Mypoint::Move(const Mypoint &T)
{
XCoord+=T.XCoord;
YCoord+=T.YCoord;
ZCoord+=T.ZCoord;
}

void Mypoint::Show() const
{
cout<<"("<<XCoord<<","<<YCoord<<","<<ZCoord<<")"<<endl;
}

int main()
{
Mypoint P1;

double a[3]={10.0,10.0,10.0};
Mypoint P2(a);

P1.Show();
P2.Show();

P1.Move(2.0,3.0,4.0);
P1.Show();

P2.Move(P1);
P2.Show();

cin.get();
return 0;
}
相似回答
大家正在搜