王老師 C 運算子過載 轉換函式 第三講

2021-04-08 14:37:07 字數 621 閱讀 4032

《敲了半天,沒提交上,鬱悶,不重寫了》 

示例程式:

(1)new

#include

#include

#include

using namespace std;

class com};

void main()

(2)過載new delete

示例:在靜態區申請動態物件

#include

#include

using namespace std;

#define n 3

class item

item(int x)

~item()

void * operator new(size_t size) throw (int)

}throw 1;}

void operator delete(void *p)};

item item::static_zone[n];

void functiona()

catch(int)}

(3)析構函式和delete的區別

析構函式負責釋放由建構函式申請的記憶體.

delete負責釋放new動態申請的記憶體.

C 運算子過載轉換運算子

為什麼需要轉換運算子?大家知道對於內建型別的資料我們可以通過強制轉換符的使用來轉換資料,例如 int 2.1f 自定義類也是型別,那麼自定義類的物件在很多情況下也需要支援此操作,c 提供了轉換運算子過載函式 它使得自定義類物件的強轉換成為可能。轉換運算子的生命方式比較特別,方法如下 operator...

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

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

C 運算子過載(三)

前面介紹了運算子過載有兩種實現方法 成員函式和友元函式 一句話總結 當兩種方法都能實現運算子過載時,請使用成員函式這種方式實現,忘了友元函式。那麼友元函式的出現是為了解決什麼難題的?友元函式總結 1.為什麼有友元函式?在實現類之間資料共享時,減少系統開銷,提高效率。下面兩種情況需要使用友元函式 1 ...