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++

全部评论

相关推荐

dian3b:挺妙的,如果上纲上线显得不合人心,但是这样以来既能监督适当摸鱼,也有一定的人文关怀。
摸鱼被leader发现了...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-29 21:14
疯犬丨哈士奇:喜欢你的人会主动表白,对你有想法的人会很主动,所以要你的公司不会吊着你所以懂了吧
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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