【问题描述】设计一个名为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
using namespace std;
class Point
{
private:
int _x,_y;
public:
Point()
{
_x=0,_y=0;
}
Point(int x,int y)
{
_x=x,_y=y;
}
void display()
{
cout<<"("<<_x<<", "<<_y<<")"<<endl;
}
Point operator ++()
{
return Point(++_x,++_y);//返回临时对象
}
Point operator ++(int)
{
return Point(_x++,_y++);
}
Point operator --()
{
return Point(--_x,--_y);
}
Point operator --(int)
{
return Point(_x--,_y--);
}
};
int main()
{
int x,y;
cin>>x>>y;
Point p(x,y),p1;
p.display();
p1=p++;
p1.display();
p1=++p;
p1.display();
p1=p--;
p1.display();
p1=--p;
p1.display();
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)