题目描述
创建一个 CPoint 类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。
要求:
输入两个点的坐标,输出两个点之间的距离
重载运算符为 -
输入格式
第一行包含整数 T,表示共有 T 组测试数据。
每组数据一行,每行 4 个整数分别表示两个点的横纵坐标。
输出格式
每组数据输出一行,一个答案,表示两点之间距离,保留两位小数。
数据范围
1≤T≤10,
坐标取值范围 [0,10]
样例
输入样例:
1
0 0 2 0
输出样例:
2.00
C++ 代码
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
class point {
public:
point() { x = 0;y = 0;l = 0; }
point(double a, double b) {
x = a;
y = b;
l = 0;
}
point operator -(point &p){
point temp;
temp.l = sqrt(pow(x - p.x, 2) + pow(y - p.y, 2));
return temp;
}
void print() {
cout << setiosflags(ios::fixed)<<setprecision(2)<<(double)l << endl;//输出两位小数并自动补零
}
private:
double x, y,l;
};
int main() {
int t;
cin >> t;
while (t--) {
double x, y, x2, y2;
cin >> x >> y >> x2 >> y2;
point p(x,y);
point p2(x2,y2);
point p3 = p - p2;
p3.print();
}
}