C 建構函式

2021-04-13 01:12:04 字數 866 閱讀 8650

建構函式是一種特殊的成員函式,它主要用於為物件分配儲存空間,對資料成員進行初始化.

(1)建構函式的名字必須與類同名;

(2)建構函式沒有返回型別,它可以帶引數,也可以不帶引數;

(3)建構函式的主要作用是完成對類的初始化工作;

(4)在建立乙個類的新物件(使用new關鍵字)時,系統回自動呼叫給類的建構函式初始化新物件;

c#的類有兩種建構函式:例項建構函式和靜態建構函式

例項建構函式:負責初始化類中的例項變數,它只有在使用者用new關鍵字為物件分配記憶體時才被呼叫,而且作為引用型別的類,其實例化後的物件必然時分配在託管堆(managed heap)上。例項建構函式又分為預設建構函式和非預設建構函式,注意一旦類有了自己的建構函式,無論是有引數還是沒有引數,預設建構函式都將無效,而且僅僅聲名乙個類而不例項化它,則不會呼叫建構函式。

靜態建構函式:

(1)用於對靜態字段、唯讀欄位等的初始化;       

(2)新增static關鍵字,不能新增訪問修飾符,因為靜態建構函式都是私有的;    

(3)類的靜態建構函式在給定應用程式域中至多執行一次,只有建立類的例項或者引用類的任何靜態成員才激發,不能帶又引數;

(4)靜態建構函式是不可繼承的,而且不能被直接呼叫;      

(5)如果類中包含用來開始執行的 main 方法,則該類的靜態建構函式將在呼叫 main 方法之前執行.任何帶有初始值設定項的靜態字段,則在執行該類的靜態建構函式時,先要按照文字順序執行那些初始值設定項;  

(6)如果沒有編寫靜態建構函式,而這時類中包含帶有初始值設定的靜態字段,那麼編譯器會自動生成預設的靜態建構函式;

乙個類可以同時擁有例項建構函式和靜態建構函式,這是惟一可以具有相同引數列表的同名方法共存的情況。

C 建構函式 拷貝建構函式

建構函式 class base private int m var 建構函式無返回值型別,函式名和型別相同。拷貝建構函式傳遞引數為引用。1 class base2 7 拷貝建構函式 8 base base ref m var ref m var 9 11 private 12 intm var 13...

C 構造器(建構函式)

定義和作用 構造器是在構建類的 引用時 自動執行的方法。所以,每個類都必須至少要有乙個構造器。在訪問乙個類的時候,編譯器最先執行構造器中的 它與類同名,帶引數的構造器能夠獲取引數,但是與方法不同的是 構造器雖然也是一種 例項型別 即必須通過例項來進行呼叫,也可以稱之為引用型別 但是卻不能返回任何值 ...

c 建構函式

c 建構函式的知識在各種c 教材上已有介紹,不過初學者往往不太注意觀察和總結其中各種建構函式的特點和用法,故在此我根據自己的c 程式設計經驗總結了一下c 中各種建構函式的特點,並附上例子,希望對初學者有所幫助。c 類的建構函式詳解 一 建構函式是幹什麼的 class counter private ...