C 學習 建構函式

2021-07-09 04:41:29 字數 911 閱讀 8027

成員函式的一種

class complex;//編譯器自動生成預設建構函式

complex c1;

complex *p = new complex;

//上面兩個語句類的預設建構函式均被呼叫

class

a;a::a(double r,double i)

a a1;//缺少函式引數

a *a = new a;//少參

a a(2);//ok

a a(2,4);//ok

a *a = new a(3,4);//ok

class csample

csample(int n)

};int main()

;//構造器2兩次被呼叫

csample array3[2] = ;//先呼叫2再呼叫1

csample *array4 = new csample[2];//呼叫兩次構造器1

delete array4;

return

0;}

class test//(1)

test(int n,int m){}//(2)

test(){}//(3)

};test array1[3] = ;

//分別用(1)(2)(3)初始化

test array2[3] = ;

//(2)(2)(1)

test *parray[3] = ;

//(1)(2)

//只初始化兩個物件,因為是指標陣列,最後乙個沒有引數

//意味著最後乙個至真沒有確定指向什麼位置,所以不呼叫建構函式

//沒有生成新的物件

C 學習 建構函式

如果沒有為類顯式地定義乙個建構函式,則c 編譯器會自動生成乙個函式體為空的預設無參的例項建構函式。建構函式主要用於建立類的例項物件。當呼叫建構函式建立乙個物件時,建構函式會為物件分配記憶體空間,並初始化類的成員。建構函式分為例項建構函式和靜態建構函式兩種。例項建構函式用於建立和初始化類的例項。使用n...

C 學習 建構函式與複製建構函式

在建構函式的函式頭初始化 includeusing namespace std class rectangle private const int length int width int main void 複製建構函式 預設複製建構函式的機制 includeusing namespace std...

c 學習 複製建構函式

複製建構函式是個非常微妙的函式,如果不能深刻理解它,可是會出現很多莫名奇妙的錯誤,下面通過乙個程式來詳細的介紹其中的奧妙。1 c 中的隱士成員函式 1 預設建構函式,如果沒有定義 2 複製建構函式,如果沒有定義 3 賦值操作符,如果沒有定義 4 預設析構函式,如果沒有定義 5 位址操作符,如果沒有定...