complex operator+(complex &c2)//+是雙目運算子,函式過載中只有乙個引數,實際上運算子過載函式有兩個引數,是由於過載函式是complex類中的成員函式,有乙個引數是隱含的,運算子函式是用this
//指標隱士的訪問物件成員函式。
complex operator+(complex *this,complex &c2)
//運算子過載函式可以作為類的成員函式,還可以作為非成員函式。例:
#includeusing namespace std;
class complex
complex(int r,int i)
void display();
friend complex operator+(complex &c1,complex &c2);//將運算子在complex類中的成員函式 改為類的友元函式,應同時將運算子函式引數改為兩個因為,this隱試指標只對類的成員函式有作用
private:
int real;
int imag;};
complex operator+(complex &c1,complex &c2)
//complex 保證返回值型別和該物件型別一致
void complex::display()
{ cout<<"("、new、delete )必須定義為類的成員函式,有的運算子則不能定義為類的成員函式(如流插入「<<」和流提取運算子「>>」、型別轉換運算子)。
運算子過載函式作為類成員函式和友元函式
運算子過載函式既可以做為類成員函式也可以過載為友元函式,但使用定義方法和使用上是由較大差別的。首先看乙個運算子過載函式作為類成員函式的示例 定義complex為複數類,過載運算子 實現複數的相加。程式1.1 include using namespace std class complex comp...
運算子過載 成員函式
檔名稱 test.cpp 完成日期 2016年5月14日 問題描述 請用類的成員函式,定義複數類過載運算子 使之能用於複數的加減乘 include using namespace std class complex complex double r,double i complex operator...
C 運算子過載函式之成員運算子過載函式
5.2.3 成員運算子過載函式 在c 中可以把運算子過載函式定義為某個類的成員函式,稱之為成員運算子過載函式。1.定義成員運算子過載函式的語法形式 1 在類的內部,定義成員運算子過載函式的格式如下 函式型別 operator 運算子 形參表 2 成員運算子過載函式也可以在類中宣告成員函式的原型,在類...