// Define postfix decrement operator.
Point Point:perator--(int)
{
Point temp = *this;
--*this;
return temp;
}
int main()
{
}
可使用以下函数原型在文件范围中(全局)定义同一运算符:
friend Point& operator++( Point& ); // Prefix increment
friend Point operator++( Point&, int ); // Postfix increment
friend Point& operator--( Point& ); // Prefix decrement
friend Point operator--( Point&, int ); // Postfix decrement
表示递增或递减运算符的后缀形式的 int 类型的参数不常用于传递参数。 它通常包含值 0。 但是,可按以下方式使用它:
// increment_and_decrement2.cpp
class Int
{
public:
Int operator++( int n ); // Postfix increment operator
private:
int _i;
};
Int Int:perator++( int n )
{
Int result = *this;
if( n != 0 ) // Handle case where an argument is passed.
_i += n;
else
_i++; // Handle case where no argument is passed.
return result;
}
int main()
{
Int i;
i.operator++( 25 ); // Increment by 25.
}
除显式调用之外,没有针对使用递增或递减运算符来传递这些值的语法,如前面的代码所示。 实现此功能的更直接的方法是重载加法/赋值运算符 (+=)。