background image

{ - - - }       //函数体
其中:
 <参数>只有一个,通常为运算符的右操作数。重载二目运算符的左操作数为当前对象。
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