下表显示可重载的运算符的列表。
可重新定义的二进制运算符
运算符 | 名称 |
---|---|
" | Comma |
%> | 不相等 |
% | 取模 |
%= | 取模/赋值 |
" | 位与 |
%> | 逻辑与 |
%> | 按位“与”/赋值 |
* |
乘法 |
*= |
乘法/赋值 |
+ | 附加内容 |
+= | 加法/赋值 |
- | 减 |
-= | 减法/赋值 |
"> | 成员选择 |
->* |
指向成员的指针选定内容 |
/ | 分部 |
/= | 除法/赋值 |
< | 小于 |
<< | 左移 |
<<" | 左移/赋值 |
<" | 小于或等于 |
= | 分配 |
== | 等式 |
> | 大于 |
>" | 大于或等于 |
>> | 右移 |
>>" | 右移/赋值 |
^ | 异或 |
^= | 异或/赋值 |
| | 位或 |
|= | 按位“与或”/赋值 |
|| | 逻辑或 |
若要将二元运算符函数声明为非静态成员,您必须用以下形式声明它:
ret-type
operator
op ( arg )
其中,ret-type 是返回类型,op 是上表中列出的运算符之一,而 arg 是任何类型的自变量。
若要将二元运算符函数声明为全局函数,您必须用以下形式声明它:
ret-type
operator
op ( arg1, arg2 )
其中,ret-type 和 op 是成员运算符函数,而 arg1 和 arg2 是自变量。 至少有一个参数必须是类类型。
注意
对二元运算符的返回类型没有限制;但是,大多数用户定义的二元运算符将返回类类型或对类类型的引用。