c++ point2d
时间: 2023-06-29 20:16:49 浏览: 77
C++中,你可以使用以下代码定义一个名为Point2D的二维点类:
```c++
class Point2D {
public:
double x, y; // 二维点的 x 和 y 坐标
Point2D(double _x = 0, double _y = 0) : x(_x), y(_y) {}
// 重载运算符+,用于实现两个二维点的加法
Point2D operator+(const Point2D &p) const {
return Point2D(x + p.x, y + p.y);
}
// 重载运算符-,用于实现两个二维点的减法
Point2D operator-(const Point2D &p) const {
return Point2D(x - p.x, y - p.y);
}
// 重载运算符*,用于实现二维点和标量的乘法
Point2D operator*(double k) const {
return Point2D(x * k, y * k);
}
// 计算二维点的模长
double length() const {
return sqrt(x * x + y * y);
}
// 计算两个二维点之间的距离
double distance(const Point2D &p) const {
return (*this - p).length();
}
};
```
在上述代码中,我们定义了一个包含两个 double 类型成员变量 x 和 y 的类 Point2D,这两个成员变量分别表示二维点的 x 和 y 坐标。我们还定义了 Point2D 类的构造函数、运算符重载函数和一些成员函数,用于实现二维点的加减、乘法、模长和距离计算等操作。