设计并实现一个平面点类point,要求:
时间: 2024-05-01 16:21:28 浏览: 54
1. 包含两个私有成员变量 x 和 y,分别表示点的横纵坐标。
2. 包含一个公有构造函数,用于初始化点的坐标。
3. 包含一个公有成员函数,用于设置点的坐标。
4. 包含一个公有成员函数,用于获取点的横坐标。
5. 包含一个公有成员函数,用于获取点的纵坐标。
6. 包含一个公有成员函数,用于计算点到原点的距离。
7. 包含一个公有成员函数,用于计算点到另一个点的距离。
以下是这个平面点类point的示例实现代码:
```cpp
#include <iostream>
#include <cmath>
class point {
private:
double x; // 点的横坐标
double y; // 点的纵坐标
public:
point(double _x = 0, double _y = 0) : x(_x), y(_y) {}
void set(double _x, double _y) {
x = _x;
y = _y;
}
double get_x() const {
return x;
}
double get_y() const {
return y;
}
double distance_to_origin() const {
return std::sqrt(x * x + y * y);
}
double distance_to(const point& p) const {
double dx = x - p.x;
double dy = y - p.y;
return std::sqrt(dx * dx + dy * dy);
}
};
int main() {
point p1(3, 4);
std::cout << "p1(" << p1.get_x() << ", " << p1.get_y() << ") distance to origin: " << p1.distance_to_origin() << std::endl;
point p2(1, 2);
std::cout << "p1(" << p1.get_x() << ", " << p1.get_y() << ") distance to p2(" << p2.get_x() << ", " << p2.get_y() << "): " << p1.distance_to(p2) << std::endl;
return 0;
}
```
输出结果:
```
p1(3, 4) distance to origin: 5
p1(3, 4) distance to p2(1, 2): 2.82843
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)