13 運算子過載為友元

2021-10-06 12:57:01 字數 618 閱讀 3432

1.一般情況下,將運算子過載為類的成員函式,是較好的選擇。

2.但有時,過載為成員函式不能滿足使用要求,過載為普通函式,又不能訪問私有成員,所以需要將運算子過載為友元。

class

complex

; complex operator+(

double r);}

;complex complex::

operator+(

double r)

經過上述的過載之後,

complex c;

c=c+5;

但是c=5+c;編譯出錯。

所以,為了上述表示式能夠成立,需要將+過載為普通函式.

complex operator+(

double r,complex &c)

//過載為成員函式引數減一,過載為普通函式不變。

但是普通函式又不能夠訪問私有成員,所以需要將+過載為友元。

friend complex operator+(

double r,

const complex &c)

;

運算子過載為友元函式

運算子過載為友元函式 郭 煒 劉家瑛 frend function.cpp 定義控制台應用程式的入口點。include stdafx.h include using namespace std class complexs complexs void print friend complexs op...

友元運算子過載

運算子就是一種特殊的函式 運算子過載可以是普通函式 const money operator const money a1,const money a2 可以是成員函式 const money operator const money a2 const 當二元運算子作為成員函式進行過載時,只有乙個引...

運算子過載,友元函式

運算子過載 include using namespace std class cint cint const cint timp public cint operator const cint timp const cint add const cint timp const cint add c...