当前位置: 编程技术>c/c++/嵌入式
C++重载运算符的规则详解
来源: 互联网 发布时间:2014-10-22
本文导语: (1)C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载。例如,有人觉得BASIC中用“* *”作为幂运算符很方便,也想在C++中将“* *”定义为幂运算符,用“3* *5”表示35,这是不行的。 (2)C++允许重载的运算...
(1)C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载。
例如,有人觉得BASIC中用“* *”作为幂运算符很方便,也想在C++中将“* *”定义为幂运算符,用“3* *5”表示35,这是不行的。
(2)C++允许重载的运算符
C++中绝大部分运算符都是可以被重载的。
不能重载的运算符只有5个:
. (成员访问运算符)
.* (成员指针访问运算符)
:: (域运算符)
sizeof (长度运算符)
?: (条件运算符)
前两个运算符不能重载是为了保证访问成员的功能不能被改变,域运算符合sizeof运算符的运算对象是类型而不是变量或一般表达式,不具备重载的特征。
(3)重载不能改变运算符运算对象(即操作数)的个数。
如,关系运算符“>”和“