Calculator&operator++()与 Calculator operator++(int)的区别

学计算机的小白 2019-12-21 07:06:13
Calculator& Calculator::operator++()
{
a++;
return *this;
}
Calculator Calculator::operator++(int)
{

a++;
return *this;
}
为什么能实现前自增与后自增,第二个函数在第一个函数的基础上进行吗?
...全文
91 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 1 楼 真相重于对错 的回复:
提示一下
1)把前缀++,和后缀++的语义搞清楚,主要是指的C语言的,比如对于int
例如:
int a=1;
int b =a++;
int c= ++a;
//每个语句执行完毕,个变量的值是多少。
2)然后把c++里面关于值和引用的区别搞清楚,返回值和返回引用到底有什么差别。
3)你的实现后缀++是错误的
具体应该是
Calculator Calculator::operator++(int)
{

Calculator tmp;
tmp.a=a;
a++;
return tmp;
}
我提交到OJ上居然是对的,当时我也将信将疑
  • 打赏
  • 举报
回复
我提交到OJ上居然是对的,当时我也将信将疑
真相重于对错 2019-12-21
  • 打赏
  • 举报
回复
提示一下 1)把前缀++,和后缀++的语义搞清楚,主要是指的C语言的,比如对于int 例如: int a=1; int b =a++; int c= ++a; //每个语句执行完毕,个变量的值是多少。 2)然后把c++里面关于值和引用的区别搞清楚,返回值和返回引用到底有什么差别。 3)你的实现后缀++是错误的 具体应该是
Calculator Calculator::operator++(int)
  {

      Calculator tmp;
      tmp.a=a;
     a++;
      return tmp;
  }

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧