2. 运算符重载综合应用

#include  <iostream>
using  namespace  std;
class  Point
{
    int  _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& o, const  Point& p);
};
Point& Point::operator++()
{
    _x++;
    _y++;
    return *this;
}
Point  Point::operator++(int)
{
    Point tmp  = * this; 
    ++* this; 
    return tmp;
}
Point& Point::operator--()
{
    _x--;
    _y--;
    return *this; 


}
Point  Point::operator--(int)
{
    Point tmp = *this; 
    --* this; 
    return tmp; 

}
ostream& operator<<(ostream& o, const  Point& p)
{
    cout << "(" << p._x << "," << p._y << ")" << endl;
    return o;
 }
int  main()
{
    Point  p(1, 2);
    cout << p << endl;              //输出(1,2)
    cout << p++ << endl;      //输出(1,2)
    cout << ++p << endl;      //输出(3,4)
    cout << p-- << endl;          //输出(3,4)
    cout << --p << endl;          //输出(1,2)
    return  0;

}


凉心哥哥的小宝藏 文章被收录于专栏

c++

全部评论

相关推荐

12-18 19:36
已编辑
门头沟学院 Java
程序员牛肉:可以的,简历没毛病了。 虽然还是偏向同质化,不过学历不错。后续我觉得重心放到刷实习+摆脱同质化问题上
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务