关于c++中后置++重载问题

来源:百度知道 编辑:UC知道 时间:2024/05/20 06:15:31
用最普通的后置++重载

类名 类名::operator++(int)
{
类名 old=*this;
();//++操作
return old;
}
显然这只能处理语句中只含一个该对象的后置++操作,当一个语句中含有多个后置++操作时(即例:(对象a++)+(对象a++)+(对象a++))的时候不能满足操作需要
请问怎么才能实现多个后置++的操作并且不影响下一个操作语句执行该对象后置++操作.谢谢

呵呵 兄弟你想的太多了
关于你提的问题,很多编译器,处理的结果也会不同的
但是你的程序处理的结果会相同

因为

你程序有个 问题 并没有实现自加1操作:
类名 类名::operator++(int)
这里应该改为:
类名 类名::operator++(int)
{
类名 &old=*this; //*******
();//++操作
return old;
}