建構函式和析構函式

2021-08-14 11:53:45 字數 603 閱讀 5088

1.1 建構函式的作用:

在物件被建立時利用特定的值構造物件,將物件初始化為乙個特定的狀態。建構函式的函式名與類名相同,而且沒有返回值,建構函式通常被命名為共有函式。建構函式在物件被建立的同時被自動呼叫,如果類中沒有建構函式,則編譯器會自動生成乙個隱含的預設建構函式,該函式的參數列和函式體都為空。

例如:

class clock;  //預設建構函式這個建構函式不做任何事

...}

clock類的完整實現:

class clock;

clock::clock(int newh, int newm, int news) //建構函式的實現

1.2 複製建構函式

複製建構函式是一種特殊的建構函式,具有建構函式的所有特性。形參是本類的物件的引用,作用是使用乙個已經存在的物件(這個物件由複製建構函式的引數制定)去初始化乙個同類的新物件。如果沒有定義複製建構函式,系統會在必要的時候自動生成乙個隱含的複製建構函式。這個隱含的複製建構函式的功能是把初值物件的每個資料成員的值都複製到新建立的物件中。

複製建構函式的宣告和實現:

class 類名

建構函式和析構函式

建構函式沒有返回值,不能被顯示的呼叫。它是在定義物件時由系統自動執行的,而且只執行一次。如果沒有定義建構函式,系統會自動生成乙個建構函式,只是這個建構函式的函式體是空,沒有引數,也不執行任何初始化的操作。帶引數的建構函式 有一種簡練,方便的寫法 建構函式的引數初始化表 box int h,int w...

析構函式和建構函式

每個物件生成的時候都要完成物件的初始化,如設定屬性的初始值。c 中規定每個類都有乙個初始值,如果沒有,系統會產生乙個預設的建構函式。這個建構函式沒有任何引數,不做任何額外的工作。但往往我們會自己寫乙個建構函式,用來進行特殊的初始化工作。這樣的話,編譯器就不會再為其生成預設的建構函式。class 類名...

建構函式和析構函式

stock hot 因為資料部分的訪問狀態是私有的,程式不能訪問資料成員。建立stock的建構函式,由於需要為stock提供3個值,因此應為建構函式提供3個引數值,程式設計師可能指向設定company成員,而其他的設定為0 使用預設引數完成 宣告如下 stock const char co,int ...