C 中的構造器(constructor)

2021-09-19 03:10:12 字數 1116 閱讀 8970

建構函式是初始化類物件的類的成員函式。在c ++中,當物件(類的例項)建立時,將自動呼叫建構函式。它是該類的特殊成員函式。

建構函式與以下方式的常規函式​​不同:

預設建構函式,預設建構函式是不帶任何引數的建構函式。它沒有引數。

// cpp program to illustrate the 

// concept of constructors

#include using namespace std;

class construct

}; int main()

輸出:

a:10

b:20

注意:即使我們沒有顯式定義任何建構函式,編譯器也會自動隱式提供預設建構函式

2.引數化建構函式:可以將引數傳遞給建構函式。通常,這些引數有助於在建立物件時初始化物件。要建立引數化建構函式,只需像對任何其他函式一樣新增引數。定義建構函式的主體時,請使用引數初始化物件。

// cpp program to illustrate 

// parameterized constructors

#include using namespace std;

class point

int getx()

int gety()

};

int main()

輸出

p1.x = 10,p1.y = 15
在引數化建構函式中宣告物件時,必須將初始值作為引數傳遞給建構函式。物件宣告的正常方式可能不起作用。可以顯式或隱式呼叫建構函式。

實施例e =實施例(0,50); //明確的**

例e(0,50); //隱含的**

它用於在建立時使用不同的值初始化不同物件的各種資料元素。

它用於過載建構函式。

我們可以在乙個類中擁有多個建構函式嗎?

是的,它被稱為建構函式過載。

構造器Construct是否可被Override?

構造器不能被繼承,因此不能被重寫override,但可以被過載override。補充 繼承 子父類中的建構函式的特點 在子類構造物件時發現,訪問子類建構函式時,父類也執行了。為什麼呢?原因是 在子類的建構函式第一行有乙個預設的隱式語句 super super 呼叫的是父類中的空引數的建構函式。子類例...

C 中的預設構造器和過載構造器

使用 new 關鍵字建立乙個物件時,runtime 必須使用那個類的定義來構造物件,runtime 必須從作業系統申請乙個記憶體區域,在其中填充由類定義的字段,然後呼叫乙個構造器執行必須的任何初始化工作。構造器 constructor 是一種特殊方法 method 它在建立類的乙個例項時自動執行。它...

C 構造器(建構函式)

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