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

系统如何判断出来我是要调用前置++,还是要调用后置++?

Coordinate &operator-(Coordinate &coor)

{

coor.m_iX = -coor.m_iX;

coor.m_iY = -coor.m_iY;

return coor;

}


Coordinate &Coordinate::operator++()

{

++m_iX;//m_iX++;

++m_iY;//m_iY++;

return *this;

}


Coordinate Coordinate::operator++(int)

{

Coordinate old(*this);

this->m_iX++;

this->m_iY++;

return old;

}

如题,在类中分别重载了前置++和后置++,那么问题来了,在main函数中,怎么样的调用才被编译器视作调用前置++,怎么样的调用系统会自动调用后置++?或者说,当同时重载了前置++和后置++时,如果在main函数中调用coor1++或++coor1,系统怎么判断我是要调用前置++函数还是后置++函数?

正在回答

1 回答

前置++ "++"符号在前边,参数在后边。编译器解析的时候一个个来的啊,不知道是不是回答了你的问题!

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

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

系统如何判断出来我是要调用前置++,还是要调用后置++?

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