C++中运算符重载的规则语法实例

2020-01-06 19:52:50刘景俊

运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。

之前就知道运算符的重载就是将它重新定义,给它新的功能,为的式符合程序员的要求,一个例子就是,要将坐标相加,但是电脑不知道怎么相加,于是聪明的人就赋予了“+”新的定义。然而一些严格意义上的用法还不是很清楚。现在就在这总结一下。

首先运算符重载的规则如下:

①、 C++中的运算符除了少数几个之外,全部可以重载,而且只能重载C++中已有的运算符。 

不能重载的运算符只有五个,它们是:成员运算符“.”、指针运算符“*”、作用域运算符“::”、“sizeof”、条件运算符“?:”。

②、 重载之后运算符的优先级和结合性都不会改变。 

③、 运算符重载是针对新类型数据的实际需要,对原有运算符进行适当的改造。一般来说,重载的功能应当与原有功能相类似,不能改变原运算符的操作对象个数,同时至少要有一个操作对象是自定义类型。 

运算符重载为类的成员函数的一般语法形式为: 


函数类型 operator 运算符(形参表) 
{ 
 函数体; 
} 

干脆将一些运算符重新列出下一下:

可以用作重载的运算符: