我们知道,自增运算符“++”和自减运算符“--”放置在变量前面与后面,其作用是有区别的。
在C++ 2.1及以后的版本中,C++编辑器可以通过在运算符函数参数表中是否插入关键字int来区分这两种方式
对于前缀方式++obj,可以用运算符函数重载为:
ob.operator++(); //成员函数重载
operator++( X &ob); //友元函数重载,其中ob为X类对象的引用
对于后缀方式obj++,可以用运算符重载为:
ob.operator++(int); //成员函数重载
operator++(X &ob,int); //友元函数重载,其中ob为X类对象的引用
以上是++obj和obj++的例子,--obj和obj--也同理
综上所述:重载obj++或者obj--时需要插入关键字int来区分