類中的幾個預設函式及其特點

2021-09-27 02:11:05 字數 509 閱讀 5558

1、建構函式

特點:初始化物件所佔的空間,可以過載,不依賴物件呼叫

2、析構函式

特點:釋放物件所佔的記憶體資源,不可以過載,依賴物件呼叫

3、拷貝建構函式

拷貝建構函式是一種特殊的建構函式,函式的名稱必須和類名稱一致,它必須的乙個引數是本型別的乙個引用變數

就類物件而言,相同型別的類物件是通過拷貝建構函式來完成整個複製過程  

在c++中,下面三種物件需要呼叫拷貝建構函式

(1)物件以值傳遞的方式傳入函式引數:

(2)物件以值傳遞的方式中從函式中返回

(3)物件需要通過另乙個物件進行初始化

4、賦值運算子過載函式

拿已存在的物件給相同型別已存在的物件賦值,注意避免發生淺拷貝

四部曲:

自賦值釋放舊資源

生成新資源

賦值5、取位址操作符的過載函式

6、const修飾的取位址操作符的過載函式

HASH函式的特點及其應用

hash函式必須具備兩個基本特徵 單向性 和 碰撞約束。單向性是指其的操作方向的不可逆性,在hash函式中是指 只能從輸入推導出輸出,而不能從輸出計算出輸入 碰撞約束是指 不能找到乙個輸入使其輸出結果等於乙個已知的輸出結果 或者 不能同時找到兩個不同的輸入使其輸出結果完全一致。乙個函式只用同時嚴格的...

類的預設函式

1.c 中的空類預設產生以下四個函式 struct也可以有建構函式 析構函式 繼承等,與class的唯一區別是預設的訪問控制許可權 2.預設建構函式 3.拷貝建構函式與賦值函式 賦值函式不是建構函式 拷貝建構函式的3種呼叫情況 例題一 例題二 在mfc類庫中,cobject類的析構函式是虛擬的,為什...

C 空類中的預設函式

參加面試的時候,面試官問到這個問題,我的回答 預設建構函式 預設析構函式 預設拷貝建構函式 預設賦值函式。現在回想起來感覺不對,就google,揭示一下這個看似簡單的問題 乙個空的class在c 編譯器處理過後就不再為空,編譯器會自動地為我們宣告一些member function,如果你寫 clas...