C++一元运算符重载“++”前置与后置详解

#include <iostream>
using namespace std;

class Point{
public:
// 构造函数
Point() {
x = 0;
y = 0;
}

Point(double xx, double yy) {
x = xx;
y = yy;
}

// 输出坐标
void print() {
cout << "(" << x << ", " << y << ")" << endl;
}

// 前置重载,无参数,返回对象的引用
Point& operator++() {
++x;
++y;
return *this;
}

// 后置重载,整数型参数,返回对象
Point operator++(int) {
Point temp(x, y);
x++;
y++;
return temp;
}

private:
double x;
double y;
};

int main()
{
// 定义对象
Point p(12, 19);

p.print();
++p;
p.print();
p++;
p.print();

return 0;
}

运行结果:
(12, 19)
(13, 20)
(14, 21)

原文链接: https://www.cnblogs.com/xuyuebing/p/12683184.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++一元运算符重载“++”前置与后置详解

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/341392

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午1:04
下一篇 2023年3月2日 上午1:04

相关推荐