为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

1 回答

1. 参数

前置()

后置(int)

2. 返回值

前置int&

后置 const int// const是为了防止i++++运算的结果并非预期。

3. 函数体

后置调用前置  // 这样只需要维护前置运算符的代码即可。

步骤:1. 保留旧值到oldvalue; 2. 增加旧值++(*this);3. 返回保留的旧值return oldValue

4. 优先用哪个

因后置会构造并析构oldValue临时对象,故比前置效率低。即优先用前置++i。

UPInt& UPInt::operator++()  

{  

   *this += 1;  

   return *this;  

// 或return ++privateVal;  

}  

  

//后置 i++ -----------先调用原值,再++  

const UPInt UPInt::operator++(int)  

{  

   UPInt oldValue = *this;  

   ++(*this);  

   return oldValue;  

}  


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C#面向对象编程
  • 参与学习       68612    人
  • 解答问题       153    个

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

进入课程

++ i 和i++ 的重载

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信