定义空间中的点类(有x,y,z坐标),并重载其++和--运算符。编写主函数对该类进行应用。
时间: 2024-02-05 22:12:01 浏览: 19
下面是一个示例代码,定义了一个三维空间中的点类 Point,包含 x、y、z 三个坐标轴,并重载了 ++ 和 -- 运算符实现对坐标值的自增和自减操作。
```c++
#include <iostream>
using namespace std;
class Point {
public:
double x, y, z;
Point() : x(0), y(0), z(0) {}
Point(double x, double y, double z) : x(x), y(y), z(z) {}
// 重载前置 ++ 运算符
Point& operator++() {
++x; ++y; ++z;
return *this;
}
// 重载前置 -- 运算符
Point& operator--() {
--x; --y; --z;
return *this;
}
// 打印点的坐标
void print() const {
cout << "(" << x << ", " << y << ", " << z << ")" << endl;
}
};
int main() {
Point p(1, 2, 3);
cout << "Point p: "; p.print();
++p;
cout << "++p: "; p.print();
--p;
cout << "--p: "; p.print();
return 0;
}
```
输出结果:
```
Point p: (1, 2, 3)
++p: (2, 3, 4)
--p: (1, 2, 3)
```
在主函数中,我们创建了一个 Point 类的对象 p,并初始化其 x、y、z 坐标值为 1、2、3。随后对其进行了 ++p 和 --p 操作,并输出了每次操作后点的坐标值。可以看到,重载的自增和自减运算符能够正确地修改点的坐标值,实现了我们的预期效果。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.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)