C++ 平面点类
题目描述
设计一个平面点类Point,具有以下属性:
横坐标,纵坐标;
具有以下成员函数:
(1)构造函数
(2)显示函数:以“(x,y)”的形式输出点坐标
(3)求两个点的L1范数距离的函数(坐标差的绝对值之和)
输入描述
输入为两行,每行是一个点的坐标(用空格间隔)
输出描述
输出有三行,前两行是两个点的坐标,第三行是L1范数距离(注意换行):
输入样例
1 2 2 1输出样例
(1, 2) (2, 1) 2 #include <iostream> #include <cmath>using namespace std;class Point{private:int x, y;public:Point(){x = 0;y = 0;};Point(int new_x, int new_y){x = new_x;y = new_y;};void show(){cout << "(" << x <<", " << y << ")" << endl;}void dist(Point &p){cout << abs(x - p.x) + abs(y - p.y) << endl; // 求两个点的L1范数距离的函数(坐标差的绝对值之和)} };int main(){int x, y;cin >> x >> y;Point *point1 = new Point(x, y);cin >> x >> y;Point *point2 = new Point(x, y);point1 -> show();point2 -> show();point1 -> dist(*point2);delete point2;delete point1;return 0;}注:
求两个点的L1范数距离的函数(坐标差的绝对值之和)用到的公式为
引入 #include <cmath>库可以调用abs()函数对x1 - x2 和 y1 - y2取绝对值。
总结
- 上一篇: C++ 形状类继承
- 下一篇: C++ 动态创建对象数组