c++利用了建構函式和析構函式解決上述問題,這兩個函式將會被編譯器自動呼叫,完成物件初始化和清理工作。
物件的初始化和清理工作是編譯器強制要我們做的事情,因此如果我們不提供構造和析構,編譯器會提供
編譯器提供的建構函式和析構函式是空實現。
建構函式語法:類名 (){}
建構函式,沒有返回值也不寫void
函式名稱與類名相同
建構函式可以有引數,因此可以發生過載
程式在呼叫物件時候會自動呼叫建構函式,無須手動呼叫,而且只會呼叫一次
析構函式語法:~類名 (){}
析構函式,沒有返回值也不寫void
函式名稱與類名相同,在名稱前加上符號 ~
析構函式不可以有引數,因此不可以發生函式過載
程式在物件銷毀前會自動呼叫析構,無須手動呼叫,而且只會呼叫一次
#include using namespace std;
class person
//析構函式
~person()
};void test01()
int main(void)
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 編譯器會按照 位拷貝 的方式提供預設的建構函式 不初始化 預設的賦值建構函式 淺賦值 預設的拷貝建構函式 淺拷貝 預設的析構函式。位拷貝要小心指...