運算子過載 成員函式

2021-07-13 13:41:05 字數 2074 閱讀 1327



/**檔名稱:test.cpp

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

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

*/#include

using

namespace std;  

class complex  

complex(double r,double i)  

complex operator+(const complex &c2);  

complex operator-(const complex &c2);  

complex operator*(const complex &c2);  

complex operator/(const complex &c2);  

void display();  

private:  

double real;  

double imag;  

};  

//下面定義成員函式

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

complex complex::operator+(const complex &c2)  

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

complex complex::operator-(const complex &c2)  

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

complex complex::operator*(const complex &c2)  

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

complex complex::operator/(const complex &c2)  

void complex::display()  

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

int main()  

/*

*檔名稱:test.cpp

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

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

*/#includeusing namespace std;

class complex

complex(double r,double i)

complex operator+(const complex &c2);

complex operator-(const complex &c2);

complex operator*(const complex &c2);

complex operator/(const complex &c2);

void display();

private:

double real;

double imag;

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

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

complex complex::operator+(const complex &c2)

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

complex complex::operator-(const complex &c2)

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

complex complex::operator*(const complex &c2)

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

complex complex::operator/(const complex &c2)

void complex::display()

{ cout<

執行結果:

C 運算子過載函式之成員運算子過載函式

5.2.3 成員運算子過載函式 在c 中可以把運算子過載函式定義為某個類的成員函式,稱之為成員運算子過載函式。1.定義成員運算子過載函式的語法形式 1 在類的內部,定義成員運算子過載函式的格式如下 函式型別 operator 運算子 形參表 2 成員運算子過載函式也可以在類中宣告成員函式的原型,在類...

運算子過載,const成員函式

1.運算子過載 c 為了增強 的可讀性引入了運算子過載,運算子過載是具有特殊函式名的函式,也具有其返回值類 型,函式名字以及引數列表,其返回值型別與引數列表與普通的函式類似。乙個賦值運算子過載的例子 include includeusing namespace std class mystr mys...

成員函式過載算數運算子「 」

include using namespace std class complex void display complex operator complex c private double real,imag complex complex operator complex c intmain ...