c 學習記錄 建構函式和析構函式

2021-10-06 05:16:45 字數 1647 閱讀 5214

1、以類名作為函式名

2、無返回值型別

class

student

;

初始化物件的資料成員(編譯器)

類的物件被建立時,編譯器為物件分配記憶體空間並自動呼叫建構函式已完成成員的初始化

1、無參構造

2、一般構造(過載構造)

3、拷貝構造

1、物件過期時自動呼叫的特殊成員函式

2、析構函式一般用來完成清理工作

3、析構函式的名稱是在類名前加~

4、析構函式沒有引數,只能有乙個

1、析構函式用來釋放物件使用的資源,並銷毀物件的非static資料成員

2、無論何時乙個物件被銷毀,都會自動呼叫其析構函式(隱式析構)

3、程式結束時只會自動釋放棧記憶體的空間student stu1; //在棧記憶體直接分配空間

4、程式結束時不會自動釋放堆記憶體的空間student* stu2 = new student(); //堆記憶體分配空間

5、釋放順序和例項化順序相反

第二種例項化方式需要手動釋放申請的空間

建構函式用來初始化物件,析構函式用來銷毀物件

C 學習 建構函式和析構函式

當建立物件的時候,這個物件應該有乙個初始狀態 當物件銷毀之前應該銷毀自己建立的一些資料。c 中的解決方案,建構函式和析構函式,這兩個函式將會被編譯器自動呼叫,完成物件初始化和物件清理工作 不管有沒有我們有沒有提供初始化操作和清理操作,編譯器也會增加預設的操作,只是這個預設初始化操作不會做任何事,所以...

C 建構函式和析構函式

1.建構函式是類的一種特殊方法,每次建立類的例項都會呼叫它。在建立乙個類的例項時,建構函式就像乙個方法一樣被呼叫,但不返回值。語法格式 訪問修飾符 類名 特性 1 其名字必須與類名相同,例如 public class myclass 2 不能被直接呼叫,必須通過new運算子來 呼叫。publiccl...

C 建構函式和析構函式

建構函式 class rectangel rectangel int l,int w 這是帶引數的建構函式,建構函式都是沒有返回值,並且和該類同名 int area 這是另一種形式的內聯函式,把宣告和定義寫在一起的也是內聯函式 private int length int width 析構函式 cl...