C 基礎(七)建構函式 結構

2022-08-09 11:15:11 字數 852 閱讀 1262

建構函式是和類名相同的類的乙個方法,如果沒有顯式的宣告,在系統會在編譯的時候,自動生成一  個不帶引數的,不執行任何動作的建構函式。 但如果顯式的宣告了建構函式,系統就不會自動生成了。如果宣告的建構函式是有引數的建構函式,  我們在例項化類的時候,就必須以該建構函式而例項化類(函式名和引數型別以及個數要完全相同)。

建構函式

通常用來初始化新物件的資料成員,即設定資料成員的預設值。

靜態建構函式

通過static修飾,用於初始化類的靜態成員。靜態建構函式不可被繼承,而且不能被直接呼叫。類的靜態建構函式在給定的應用程式域中至多執行一次,只能在第一次建立類的例項時或第一次此乃類的任何靜態成員時被呼叫。

例項建構函式

如果使用private修飾,則為私有建構函式,私有建構函式只包含在靜態成員的類中。如果要建立乙個不希望被例項化的類,則可在該類中宣告乙個空的私有例項建構函式。

靜態建構函式

在 c#  中我們可以給類定義乙個無參的靜態建構函式(注意,必須是無參的),只要建立類的物件,該方法就會執行。該函式只執行一次,並且在**引用類之前執行。 乙個類只能有乙個靜態建構函式。

注意,無參的例項建構函式可以和靜態建構函式在類中共存。因為靜態建構函式是在載入類的時候執  行的,而例項建構函式是在建立例項時執行的,兩者並不衝突。

唯讀字段(readonly)

唯讀欄位比常量靈活的多,常量const必須在宣告之初就初始化,但readonly欄位甚至可以進行一些去處再確定其值。只可在建構函式中對唯讀字段賦值。

結構結構和類幾乎一樣,定義方式一樣。模擬結構在效能上有損失。

注意:結構是值型別,而類是引用型別;結構不支援繼承;結構在編譯時,編譯器總會提供乙個無參的建構函式,在結構中不允許定義無參的建構函式。

c 結構體 建構函式

struct node node int r,int c,int dist r r c c dist dist node 為定義函式 node int r,int c,int dist r r c c dist dist 為定義函式時的引數列表 struct node x 1,2,3 那麼x.r 1...

c 基礎 建構函式 this new

建構函式 作用 幫助我們初始化物件 給物件的每個屬性依次的賦值 建構函式是乙個特殊的方法 1 建構函式沒有返回值,連void也不能寫。2 建構函式的名稱必須跟類名一樣。建立物件的時候會執行建構函式 建構函式是可以有過載的。public student 類當中會有乙個預設的無引數的建構函式,當你寫乙個...

C 基礎 在建構函式內部呼叫建構函式

看下面的面試題 include using namespace std struct cls cls int main 列印的結果是系統的乙個隨機值。所以這種直接在建構函式中呼叫另外的乙個建構函式是不可行的。奇怪的地方在於建構函式中呼叫了自己的另乙個建構函式 我們知道,當定義乙個物件時,會按順序做2...