C 過載(2) 通過成員函式和友元函式過載

2021-08-22 08:32:57 字數 657 閱讀 9234

分別通過成員函式和友元函式完成過載

#include using namespace std;

class complex

; //建構函式,包含有引數的和沒有引數的,預設為0,0

complex(const complex & p) //複製建構函式

~complex(){} //析構函式

//以下為成員函式

double getreal() const

double getimag() const

void output(); //輸出的函式

complex operator+(const complex& p);

//通過友元

friend complex operator-(const complex &p1,const complex &p2);

private:

double real ,imag;

};complex complex::operator+(const complex& p) //計算加法的成員函式

void complex::output() //輸出的函式

{ if(imag >=0)

{ char flag;

flag ='+';

cout 《執行結果:

友元函式和友元成員函式

include using namespace std class boy 提前宣告,否則下面的函式宣告沒有辦法定義 class girl girl void print void girl boy x 此定義必不可少 class boy boy void print friend void gir...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...

友元 友元函式 友元類和友元成員函式 C

有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...