自增运算符(++a,a++区别)

自增运算符

a++先执行当前行代码再自增;
++a先自增再执行当前行代码
这段代码

int a = 1;
int b = a++;
int c = ++a;

就相当于这段代码

int a = 1;

int b = a;
a = a + 1;

a = a + 1;
int c = a;

从下面这段代码的结果更好理解运算顺序

        int a = 1;
        System.out.println(a);
        int b = a++;
        System.out.println(a);
        System.out.println(b);
        int c = ++a;
        System.out.println(a);
        System.out.println(c);

b的赋值发生在a自增之前
而c的赋值发生在a自增之后
代码结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的复数类complex的定义,其中重载了前置自增++”和后置自增++运算符和display函数: ```c++ #include <iostream> using namespace std; class complex { private: double real; // 实部 double imag; // 虚部 public: // 构造函数 complex(double r = 0, double i = 0) : real(r), imag(i) {} // 前置自增运算符 ++ complex operator++() { real++; // 实部加 1 imag++; // 虚部加 1 return *this; } // 后置自增运算符 ++ complex operator++(int) { complex tmp(*this); operator++(); // 调用前置自增运算符 return tmp; } // 显示复数 void display() const { cout << "(" << real << ", " << imag << "i)" << endl; } }; ``` 在上面的代码中,我们定义了一个复数类`complex`,包含了实部`real`和虚部`imag`两个私有成员变量。为了方便使用,我们提供了一个构造函数,可以用来创建复数对象。同时,我们还重载了前置自增++”和后置自增++运算符,使得我们可以对复数对象进行自增操作。最后,我们还提供了一个`display`函数,用来显示复数对象的值。 下面是一个简单的测试代码,用来测试我们刚才定义的复数类: ```c++ int main() { complex a(1, 2); a.display(); // 显示 (1, 2i) ++a; a.display(); // 显示 (2, 3i) a++; a.display(); // 显示 (3, 4i) return 0; } ``` 在测试代码中,我们创建了一个复数对象`a`,并且调用了它的`display`函数,将其值显示出来。然后,我们对它进行了两次自增操作,分别使用了前置自增++”和后置自增++运算符,最后再次调用`display`函数,将其最新的值显示出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值