我疯了,好心人救救这个程序吧C++

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:00:26
求两点之间的距离,谢谢啊
代码:#include<iostream>
#include<math.h>
class point//点的类
{
public :
point(int xx=0,int yy=0){X=xx;Y=yy;}
point(point &p);
int GetX(){return X;}
int GetY(){return Y;}
private:
int X,Y;

};
point::point(point &p)//拷贝构造函数
{
X=p.X;
Y=p.Y;
}
class distance//距离的类
{
public:
distance(point xp1,point xp2);
double getdis(){return dist;}
private:
point p1,p2;
double dist;
};
distance::distance(point p1,point p2)
//:p1(xp1),p2(xp2)
{
double x=double(p1.GetX()-p2.GetX());
double y=double(p1.GetY()-p2.GetY());
dist=sqrt(x*x+y*y);
}
class juxing
{
public:

你的程序有点乱,可参考下面的程序:
#include <iostream.h>
#include <math.h>
class point
{
public:
point(int a=0,int b=0){x=a;y=b;}
int getx(){return x;}
int gety(){return y;}
double dist(point,point);
private:
int x,y;
};
double point::dist(point p1,point p2)
{
int t=(p2.getx()-p1.getx())*(p2.getx()-p1.getx())\
+(p2.gety()-p1.gety())*(p2.gety()-p1.gety());
return sqrt((double)t);
}
void main()
{
point p,q;
int m1,m2,n1,n2;
cout<<"请输入第一点的坐标:"<<endl;
cin>>m1>>m2;
p=point(m1,m2);
cout<<"请输入第二点的坐标:"<<endl;
cin>>n1>>n2;
q=point(n1,n2);
cout<<"两点之间的距离为:"<<p.dist(p,q)<<endl;
}

再设个函数在类里面,用来改变xy,或者干脆把xy设成public,这样可以直接改变,你的类是在初始化的时候设定xy的