{ - - - } //函数体
其中:
<参数>只有一个,通常为运算符的右操作数。重载二目运算符的左操作数为当前对象。
2).利用友元函数重载
用友元函数重载类 X 的二目运算符的一般格式:
friend <类型> operator <
二元运算符 >(<参数 1>,<参数 2>)
{- - -} //函数体
1)该运算符重载为类 X 的友元函数。
2)必须有两个参数,且至少有一个参数为 X 类型的实例。其中<参数 1>为左参数,
而<参数 2>为右操作数。
5. “++”
“— —”
和
运算符的重载
“
由于运算符 ++” “
、 - - ”具有前置和后置两种形式,因此在对它们进行重载时要区别对
“
待。下面仅以 ++”
“
为例说明其两种形式的重载的实现的方法, - -”的重载类似。
1)重载前置运算符的一般格式为:
<类型>operator ++ ( )
{- - - } //函数体
或
friend <类型>operator ++ ( X & )
{- - - } //函数体
2)重载后置运算符的一般格式为:
<类型>operator ++ ( int )
{- - - } //函数体
或
friend <类型>operator ++ ( X & ,int )
{- - - } //函数体
其中
① 运算符重载函数为类 X 的友元。
② 前置和后置的区别为:
后置运算符重载函数比前置运算符重载函数多了一个整数参数。该参数没什么特别的
意义,只是标识重载的是后置运算符。
③ 当用友元函数重载时,X 类型的参数必须为指针类型或引用类型。
7. 8.1.2
运算符重载 示例
1) 二目运算符重载
例 1.利用成员函数重载
二目运算符
# include<iostream.h>
class CThree_d
{ int x , y , z ;
public:
CThree_d (int vx , int vy , int vz) //构造函数
{x=vx ;y=vy ;z=vz ;}
3