C++练习题-坐标点Point的运算符重载

C++练习题-坐标点Point的运算符重载,第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
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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/707160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存