一般而言,所有的物件都需要乙個確定的初始狀態!
c++中的類可以定義與類名相同的特殊成員函式,這種類名相同的成員函式叫做建構函式,建構函式在定義時可以有引數,但是沒有任何返回型別的宣告(和返回void是兩個概念)。
建構函式的呼叫:一般情況下c++編譯器自動呼叫建構函式
#include usingview codenamespace
std;
class
test
void
print()
};int
main()
;//主動呼叫建構函式
for(int i=0;i<3;i++)
return0;
}
兩個特殊的建構函式:拷貝建構函式和預設建構函式
無參建構函式:當類中沒有定義任何乙個建構函式,c++編譯器會為我們提供無參建構函式和拷貝建構函式。預設建構函式為空什麼都不做
拷貝建構函式:當類中定義了任意的非拷貝建構函式是,c++編譯器就不會提供無參建構函式了,會為我們提供拷貝建構函式。預設拷貝建構函式會對成員變數一 一複製。
#include usingview codenamespace
std;
class
test
test()
//預設建構函式
};int
main()
c++中提供了初始化列表對成員變數進行初始化
語法規則:
constructot::constructot():m1(v1),m2(v1,v2),m3(v3)(初始化與賦值的不同:初始化是用已存在的物件或值對正在建立的物件進行初值設定,賦值是用已存在的物件或值對已經存在的物件進行值設定。
)。
#include usingview codenamespace
std;
class
m
intgeti()
};class
test
void
print()
};void
run()
intmain()
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 構造可分為兩個步驟 初始化列表和方法內賦值。前者的使用場景是 初始化,即...