现有一个类Point表示二维空间中的点,包含私有数据成员double x和double y,x表示该点的x坐标,y表示该点的y坐标。要求编写一个友元函数,输出两点之间的距离。
输入说明:
每一行四个数值,前两个数是第一个坐标点的x坐标和y坐标,后两个数是第二个坐标点的x坐标和y坐标。当输入四个0时表示输入结束。
输出说明:
输出两点距离必须保留两位小数。
代码实现:
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
class Point {
public:
Point() {
}
Point(double px,double py) {
x=px;
y=py;
}
friend void pointDis(Point &p1,Point &p2);
private:
double x;
double y;
};
/* 请在这里填写答案 */
void pointDis(Point &p1,Point &p2){
cout<<fixed<<setprecision(2)<<sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y))<<endl;
}
int main() {
double x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
Point p1,p2;
while(!(x1==0&&y1==0&&x2==0&&y2==0)) {
p1=Point(x1,y1);
p2=Point(x2,y2);
pointDis(p1,p2);
cin>>x1>>y1>>x2>>y2;
}
return 0;
}