运算符重载怎么写?

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:24:36
我想知道运算符重载不写在类里(不作为类的成员函数)。该怎么写?

关键字是operator

重载运算符

除了预先定义的运算功能之处,用户还可以通过类或者结构中的设置operator声明来实现运算符的用户定义运算功能,用户定义的运算符的优先级总是高于预定义运算符实现的优先级。只有当没有适用的用户定义运算符实现存在时,才会考虑预定义的运算符实现。
重载运算符时一般使用operator关键字,对于一元和二元运算符,它们重载函数的方法如下表所示。

序号 运算符 运算符重载函数
1 op x operate op(x)
2 x op operate op(x)
3 x op y operate op(x,y)

运算符重载可以用友元函数来处理。友元函数可以调用私有变量达到运算符重载的目的。

运算符重载好像只有两种形式的,一种是作为类的成员函数。另一种就是类的友元函数,所以都脱离不了类。
类的友元你自己会写吧……