C 構造和析構!

2022-05-04 16:03:07 字數 1183 閱讀 3094

一般而言,所有的物件都需要乙個確定的初始狀態!

c++中的類可以定義與類名相同的特殊成員函式,這種類名相同的成員函式叫做建構函式,建構函式在定義時可以有引數,但是沒有任何返回型別的宣告(和返回void是兩個概念)

建構函式的呼叫:一般情況下c++編譯器自動呼叫建構函式

#include using

namespace

std;

class

test

void

print()

};int

main()

;//主動呼叫建構函式

for(int i=0;i<3;i++)

return0;

}

view code

兩個特殊的建構函式:拷貝建構函式和預設建構函式

無參建構函式:當類中沒有定義任何乙個建構函式,c++編譯器會為我們提供無參建構函式和拷貝建構函式。預設建構函式為空什麼都不做

拷貝建構函式:當類中定義了任意的非拷貝建構函式是,c++編譯器就不會提供無參建構函式了,會為我們提供拷貝建構函式。預設拷貝建構函式會對成員變數一 一複製。

#include using

namespace

std;

class

test

test()

//預設建構函式

};int

main()

view code

c++中提供了初始化列表對成員變數進行初始化

語法規則:

constructot::constructot():m1(v1),m2(v1,v2),m3(v3)

(初始化與賦值的不同:初始化是用已存在的物件或值對正在建立的物件進行初值設定,賦值是用已存在的物件或值對已經存在的物件進行值設定。

)。

#include using

namespace

std;

class

m

intgeti()

};class

test

void

print()

};void

run()

intmain()

view code

C 構造和析構

include using namespace std class b b b b b b int i data i b operator b b private int data b play b b int main output constructed by parameter 5 destr...

C 構造和析構

建構函式的作用是給類中的資料成員初始化,在乙個類物件產生的時候自動呼叫,建構函式分為帶參構造 無參構造。他倆唯一的區別就是乙個有引數,乙個沒引數,視實際情況使用 class cmyc cmyc cmyc cmyc cmyc int a,float b,char ch 它在乙個類物件被建立的時候自動呼...

C 構造和析構

1 繼承關係可認為,子類在父類的基礎上進行。從這個角度講,可把它認為穿衣 的過程。穿衣是 先穿內衣,再穿外套。是 先脫外套,在 構造是 先呼叫父類構造方法,再呼叫子類構造方法。析構是 先呼叫子類析構方法,再呼叫父類析構方法。2 構造可分為兩個步驟 初始化列表和方法內賦值。前者的使用場景是 初始化,即...