建構函式之二 建構函式常見的使用方式

2021-07-11 01:27:27 字數 1532 閱讀 7861

覺得很好,就拿來參考了~

模型:  

[cpp]view plain

copy

class

a   

};  

什麼時候呼叫拷貝建構函式:

(1) 當用類的乙個物件去初始化該類的另乙個物件時候。系統

自動呼叫它實現拷貝賦值

形如: a a(1,1); a b(a);

(2) 若函式的形參為類的物件,呼叫函式時,實參賦值形參,系統自動

呼叫拷貝函式.

test(a a);       a aa; test(aa);

模型:類::類(物件成員所需的形參,本類成員形參):物件1(引數),物件2(引數),……

呼叫順序:

先呼叫內嵌物件的的建構函式,先宣告的先呼叫。如果是預設建構函式,則內嵌物件的初始化也將呼叫相應的預設建構函式,析構相反。

舉例:[cpp]view plain

copy

class

base   

~base()   

};  

class

test  

~test()  

};  

int_tmain(

intargc, _tchar* argv)    

結果:

base create

test create

test destroy

base destroy

例子:拷貝建構函式與組合類建構函式混用

[cpp]view plain

copy

#include "stdafx.h"

#include 

using

namespace

std;  

class

base   

base(base & b)   

~base()   

};  

class

test  

~test()  

};  

int_tmain(

intargc, _tchar* argv)    

結果:

base create

copy create

copy create

test create

base destroy

test destroy

base destroy

模型:派生類:派生類(基類1新參,基類2新參,基類3形參,……,基類n新參,本類新參):

基類1(引數),基類2(引數),……基類n(引數),物件資料成員初始化 ;

例項:

c(int a,int b,int c,int d):

b1(a),memberb2(d),memberb1(c),b2(b)

我就不舉例了,太多了

Mat常見建構函式

mat類 無參構造方法 建立行數為rows,列為col,型別為type的影象 影象元素型別,如cv 8uc3等 建立大小為size,型別為type的影象 建立行數為 rows,列數為 col,型別為 type 的影象,並將所有元素初始 化為值 s 建立大小為 size,型別為 type 的影象,並將...

建構函式(二)

1.轉換建構函式 1 單個引數 的建構函式 2 將其他型別轉換為類型別 3 類的建構函式只有乙個引數是非常危險的,因為編譯器可以使用這種建構函式把引數的型別隱式轉換為類型別 賦值與初始化的區別 1 在初始化語句中的等號不是運算子,編譯器對這種表示方法有特殊的解釋 2 賦值 test test ope...

雜湊表之二雜湊函式的構造

了解了hash的思想之後,會發現雜湊函式只是將關鍵字對下標的對映,沒有什麼特別的標準,衝突的多少就是衡量其好壞。若對於關鍵字集合中的任一乙個關鍵字,經雜湊函式映像到位址集合中任何乙個位址的概率是相等的,則稱此類雜湊函式為均勻的 uniform 雜湊函式。如果關鍵字能夠進過雜湊函式計算得出的位址能夠均...