Problem A: 平面上的点——Point类 (VI)
时间: 2023-11-11 15:05:09 浏览: 79
题目描述
定义一个Point类,表示平面上的点,具有x和y两个坐标成员变量,以及设置和获取坐标的方法。还要实现计算两点之间距离的方法。
输入描述
无输入。
输出描述
无输出。
样例
无样例。
提示
要求定义Point类,具有如下成员:
成员变量:
double x:表示点的横坐标。
double y:表示点的纵坐标。
成员函数:
Point():构造函数,将x和y初始值为0.0。
Point(double x, double y):构造函数,将x和y初始值为参数值。
void setX(double x):设置点的横坐标。
double getX():获取点的横坐标。
void setY(double y):设置点的纵坐标。
double getY():获取点的纵坐标。
double distance(Point another):计算当前点与另外一个点之间的距离,返回距离值。
注意:在类的实现中,要包含头文件cmath,使用其中的sqrt函数求平方根。
C++ 代码
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Point
{
private:
double x, y;
public:
Point() : x(0.0), y(0.0) {}
Point(double x, double y) : x(x), y(y) {}
void setX(double x) { this->x = x; }
double getX() { return x; }
void setY(double y) { this->y = y; }
double getY() { return y; }
double distance(Point another)
{
double dx = x - another.x;
double dy = y - another.y;
return sqrt(dx * dx + dy * dy);
}
};
int main()
{
Point p1, p2(3.0, 4.0);
p1.setX(1.0);
p1.setY(2.0);
cout << "p1: (" << p1.getX() << ", " << p1.getY() << ")" << endl;
cout << "p2: (" << p2.getX() << ", " << p2.getY() << ")" << endl;
cout << "distance between p1 and p2: " << p1.distance(p2) << endl;
return 0;
}
```