C 學習(四)使用類

2021-09-16 22:31:21 字數 768 閱讀 8314

定義:名稱相同但引數列表不同的函式是函式過載。運算 符過載就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。

class time

time::time()

time time::operator+(const time& t)const

time time::operator-(const time& t)const

time time::operator*(double mult)const

分類:友元函式,友元類,友元成員函式。

具體來說是為了讓其他類的成員函式能直接的訪問該類的私有變數。即:允許外面的類或函式去訪問類的私有變數和保護變數,從而使兩個類共享同乙個函式。

使用友元函式的兩種情況:(1)運算子過載的某些場合需要使用友元。(2)兩個類共享資料的時候。

(1)優點:能夠提高效率,表達簡單、清晰。

(2)缺點:友元函式破壞了封裝機制,盡量不使用成員函式,除非不得已的情況才使用友元函式。

建立友元:

//friend time operator *(double m,const time &t);

class integer

;void print(const integer& obj)

void main()

(1) 成員函式有this指標,而友元函式沒有this指標。

(2)友元函式是不能被繼承的,就像父親的朋友未必是兒子的朋友。

C 學習 (使用類)

include include using namespace std struct node node int x,int y node double x,double y friend void operator ostream os,const node t void operator ost...

C 類的使用(四) 繼承

有時候,我們想要寫乙個類實現某些功能,但又想同時具備另乙個類的功能,這個時候,我就要用到類的第二大特點 繼承 class classa void setx int x intgetx protected int x 注意到我用的是protected而不是private,這是為繼承做準備 class ...

C 學習 類和物件 四)

運算子過載函式 為了增強程式的可讀性,c 支援運算子過載。運算子過載特徵 1.operator 合法的運算子構成函式名 過載 運算子的函式名 operator 2.過載運算子以後,不能改變運算子的優先順序 結合性 運算元個數。5個c 不能過載的運算子 sizeof 賦值運算子過載 拷貝建構函式是建立...