建構函式和析構函式C

2021-10-13 18:40:16 字數 796 閱讀 6322

物件的初始化清理是兩個非常重要的安全問題。

c++利用了建構函式析構函式解決上述問題,這兩個函式將會被編譯器自動呼叫,完成物件初始化和清理的工作。

建構函式:用於建立物件時,為物件的成員屬性賦值,建構函式由編譯器自動呼叫,無需手動呼叫。

用法:類名(){}

建構函式沒有返回值,也不寫void;

函式名和類名相同;

建構函式可以有引數,因此可以發生過載;

程式在呼叫物件時會自動呼叫建構函式,無需手動呼叫,而且只會呼叫一次。

析構函式:用於物件銷毀前系統自動呼叫,會執行一些清理工作。

析構函式沒有返回值,也不寫void;

函式名稱與類名相同,在名稱前加~;

析構函式不可以有引數,因此不可以過載;

程式在銷毀時自動呼叫,無需手動呼叫,而且只會呼叫一次。

**示例:

#includeusing namespace std;

//物件的初始化和清理

class person1

//析構函式(沒有返回值,不寫void,函式名和類名相同,前加~

//不可有引數,不能過載,)

~person1() };

//建構函式是必須要有的,否則編譯器會自動建立

void test01()

int main()

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...

c 建構函式和析構函式

1.c 的建構函式有預設建構函式,一般的建構函式,賦值建構函式,拷貝建構函式 複製建構函式 強制型別轉化建構函式。2.如果沒有定義建構函式和析構函式,則c 編譯器會按照 位拷貝 的方式提供預設的建構函式 不初始化 預設的賦值建構函式 淺賦值 預設的拷貝建構函式 淺拷貝 預設的析構函式。位拷貝要小心指...