符號過載函式 友元函式

2021-07-13 13:42:11 字數 2154 閱讀 7122



/**檔名稱:test.cpp

*完成日期:2023年5月14日

*問題描述:請用類的友元函式,定義複數類過載運算子+、-、*、/,使之能用於複數的加減乘

*/#include

using

namespace std;  

class complex  

complex(double r,double i)  

friend complex operator+(complex &c1,complex &c2);  

friend complex operator-(complex &c1,complex &c2);  

friend complex operator*(complex &c1,complex &c2);  

friend complex operator/(complex &c1,complex &c2);  

void display();  

private:  

double real;  

double imag;  

};  

//下面定義成員函式

//複數相加: (a+bi)+(c+di)=(a+c)+(b+d)i

complex operator+(complex &c1,complex &c2)  

//複數相減: (a+bi)-(c+di)=(a-c)+(b-d)i

complex operator-(complex &c1,complex &c2)  

//複數相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i

complex operator*(complex &c1,complex &c2)  

//複數相除:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d) +(bc-ad)/(c*c+d*d)i

complex operator/(complex &c1,complex &c2)  

void complex::display()  

//下面定義用於測試的main()函式

int main()  

/*

*檔名稱:test.cpp

*完成日期:2023年5月14日

*問題描述:請用類的友元函式,定義複數類過載運算子+、-、*、/,使之能用於複數的加減乘

*/#includeusing namespace std;

class complex

complex(double r,double i)

friend complex operator+(complex &c1,complex &c2);

friend complex operator-(complex &c1,complex &c2);

friend complex operator*(complex &c1,complex &c2);

friend complex operator/(complex &c1,complex &c2);

void display();

private:

double real;

double imag;

};//下面定義成員函式

//複數相加: (a+bi)+(c+di)=(a+c)+(b+d)i

complex operator+(complex &c1,complex &c2)

//複數相減: (a+bi)-(c+di)=(a-c)+(b-d)i

complex operator-(complex &c1,complex &c2)

//複數相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i

complex operator*(complex &c1,complex &c2)

//複數相除:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d) +(bc-ad)/(c*c+d*d)i

complex operator/(complex &c1,complex &c2)

void complex::display()

{ cout<

執行結果:

友元函式 友元類 友元成員函式

注意友元成員函式定義的3個步驟 include include include using namespace std class a class c class a class b void c display const a a 3.最後定義display,此時才可以使用a的私有成員 void ...

友元函式 友元類 友元成員函式

一般來說,類內的私有資料是對外不可見的,但在有些情況下,我們需要在類外對該類的私有資料進行訪問,這就需要用到一種新技術 友元 friend 即在宣告前新增關鍵字friend。友元關係是單向的,即如果a是b的友元,但b不一定是a的友元 友元關係無傳遞性,即如果a是b的友元,b是c的友元,但a不一定是c...

友元函式 友元類 友元成員函式

有些情況下,允許非成員函式訪問類中的私有成員,但又阻止一般的訪問,這種情況,就需要用到友元。使用friend宣告友元,友元的定義只能在類的內部 有些情況下,全域性函式需要訪問類中的私有成員,這種函式叫友元函式 如 客人可以訪問客廳,但一般客人不可以去主人臥室,關係較好的朋友才能訪問私有的臥室,這時就...