C++允许重载的运算符和不允许重载的运算符

时间:2014-11-05 19:30    点击:

C++中绝大部分的运算符允许重载,具体规定见表10.1。

表10.1 C++允许重载的运算符
双目算术运算符 + (加),-(减),*(乘),/(除),% (取模)
关系运算符 ==(等于),!= (不等于),< (小于),> (大于>,<=(小于等于),>=(大于等于)
逻辑运算符 ||(逻辑或),&&(逻辑与),!(逻辑非)
单目运算符 + (正),-(负),*(指针),&(取地址)
自增自减运算符 ++(自增),--(自减)
位运算符 | (按位或),& (按位与),~(按位取反),^(按位异或),,<< (左移),>>(右移)
赋值运算符 =, +=, -=, *=, /= , % = , &=, |=, ^=, <<=, >>=
空间申请与释放 new, delete, new[ ] , delete[]
其他运算符 ()(函数调用),->(成员访问),->*(成员指针访问),,(逗号),[](下标)

不能重载的运算符只有5个:
.  (成员访问运算符)
.*  (成员指针访问运算符)
::  (域运算符)
sizeof  (长度运算符)
?:  (条件运算符)

前两个运算符不能重载是为了保证访问成员的功能不能被改变,域运算符和sizeof 运算符的运算对象是类型而不是变量或一般表达式,不具备重载的特征。

来源:未知//所属分类:基础教程/更新时间:2014-11-05 19:30
顶一下
(0)
0%
踩一下
(0)
0%
上一篇:C++运算符重载的规则
下一篇:C++运算符重载函数作为类成员函数和友元函数
相关内容