重载一元运算符

可重载的一元运算符如下:

  1. !(逻辑“非”

  2. &(取址

  3. ~(二进制反码

  4. *(取消指针引用

  5. +(一元加

  6. -(一元求反

  7. ++(递增

  8. --(递减

  9. 转换运算符

后缀递增和递减运算符(++ 和 ––)在递增和递减中单独处理。

转换运算符也将在单独的主题中进行讨论;请参阅转换

以下规则适用于所有其他一元运算符。 若要将一元运算符函数声明为非静态成员,则必须用以下形式声明它:

ret-type operatorop**()**

其中 ret-type 是返回类型,op 是上表中列出的运算符之一。

若要将一元运算符函数声明为全局函数,则必须用以下形式声明它:

ret-type operatorop (arg )

其中 ret-type 和 op 如上所述用于成员运算符函数,arg 是要参与运算的类类型的参数。

备注

一元运算符的返回类型没有限制。例如,逻辑“非”(!) 返回整数值是合理的,但并非强制性的。

请参见

参考

运算符重载