C++定义一个点类一个距离类求两点之间的距离

2024-10-29 03:47:36
推荐回答(2个)
回答1:

#include 
#include 
//点类
class POINT_
{
public:
POINT_(float a,float b)
:
x(a),
y(b)
{
}
private:
//点 有x y坐标
float x;
float y;
friend class DISTANSE;//声明距离类为友元;
};
//距离类
class DISTANSE
{
//求距离要有两点;
POINT_ p_1;
POINT_ p_2;
public:
DISTANSE(float a,float b,float c,float d)
:
p_1(a,b),
p_2(c,d)
{
}
float getdistanse()
{
float x1 = p_1.x - p_2.x;
float y1 = p_1.y - p_2.y;
float temp = x1*x1 + y1*y1;
float dis = sqrt(temp);
return dis;
}
};
void main()
{
DISTANSE d(1.0,1.0,2.0,2.0);
float a = d.getdistanse();
cout<system("pause");
}

回答2:

#include
Class Point{
double x;
double y;
friend Class Distance;
}
Class Distance{
Point a;
Point b;
double getdistance(){
return sqrt((a.x-b.x) * (a.x-b.x) + (a.y-b.y) * (a.y-b.y));
}