1.【问题描述】设计一个名为Point的类,表示平面坐标下的一个点,这个类包括:两个int 型数据成员:_x, _y,分别表示横坐标和纵坐标,声明成员函数Point& operator++();Point operator++(int); 以实现Point类重载“++”(自增)运算符,声明成员函数Point& operator–();Point operator–(int); 以实现Point类重载“–”(自减)运算符。其他成员函数自定。并编写主程序进行测试。键盘输入一个坐标点,输出后置和前置“++”运算后的坐标点以及后置和前置“–”运算后的坐标点。
【输入形式】任意一个坐标点。
【输出形式】输出后置和前置“++”运算后的坐标点以及后置和前置“–”运算后的坐标点。
【样例输入】
1 2
【样例输出】
(1, 2)
(1, 2)
(3, 4)
(3, 4)
(1, 2)
#include <iostream>
using namespace std;
class Point
{
private:
int _x, _y;//x,y表示坐标
public:
Point(int x=0, int y=0) {
_x = x; _y = y; }//构造函数设置默认参数
Point& operator ++();//前置++
Point operator ++(int);//后置++
Point& operator --();
Point operator --(int);
friend ostream& operator <<(ostream& co, Point p);
//cout 是 ostream 类的对象。ostream 类和 cout 都是在头文件 <iostream> 中声明的。ostream 类将<<重载为成员函数,所以<<才能和cout一起使用
//这里是友元函数,下面输出的时候才能调用私有成员
};
Point& Point::operator++()//前置单目运算符重载函数 用引用是减少临时对象产生,提高前置效率
{