欢迎访问==> 【考研OR保研】机试题
题目描述
创建一个 CPoint 类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数,运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。
要求:
- 输入两个点的坐标,输出两个点之间的距离
- 重载运算符为
-
输入格式
第一行包含整数 $T$,表示共有 $T$ 组测试数据。
每组数据一行,每行 $4$ 个整数分别表示两个点的横纵坐标。
输出格式
每组数据输出一行,一个答案,表示两点之间距离,保留两位小数。
数据范围
$1 \\le T \\le 10$,
坐标取值范围 $\[0,10\]$
输入样例:
1
0 0 2 0
输出样例:
2.00
C++ 代码
#include <bits/stdc++.h>
using namespace std;
class CPoint
{
public:
int x, y;
//构造函数
CPoint(){}
CPoint(int _x, int _y): x(_x), y(_y){}
//运算符重载函数
double operator- (const CPoint &t) const
{
double dx = x - t.x;
double dy = y - t.y;
return sqrt(dx * dx + dy * dy);
}
};
int main()
{
int T;
cin >> T;
while(T -- )
{
CPoint a, b;
cin >> a.x >> a.y >> b.x >> b.y;
printf("%.2lf\n", a - b);
}
return 0;
}