我们很多时候都会使用到自增或自减, 自增或自减都有前置形式与后置形式, 那么我们在为自己写的类添加重载++/--操作符时, 如何区分前置形式与后置形式?
在<c++ Primer>的15.7节和<More Effecitve C++>的4.2节都有介绍, 下面只是把它归纳一下, 具体可以看那2本书。
前置的操作符声明:
class
ScreenPtr {
public :
Screen & operator ++ ();
Screen & operator - - ();
// ...
};
public :
Screen & operator ++ ();
Screen & operator - - ();
// ...
};
后置的操作符声明:
class
ScreenPtr {
public :
Screen & operator ++ ( int ); // 后置操作符
Screen & operator - - ( int );
// ...
};
public :
Screen & operator ++ ( int ); // 后置操作符
Screen & operator - - ( int );
// ...
};
也就是说,重载的递增和递减后置操作符的声明有一个额外的int 类型的参数。