構造器與析構器

2021-08-11 14:30:34 字數 852 閱讀 8667

#include "stdafx.h"

#include using namespace std;

#if 0

----構造器

class 類名

class a

}特性:在類物件建立時,自動呼叫,完成類物件的初始化。

尤其是動態堆記憶體的申請

1.構造器 用於完成物件建立的初始化

2.在物件建立時 自動呼叫

3.系統提供了預設的無參空構造器

4.一經定義 系統不再提供預設

5.構造器支援過載,預設引數

----析構器

class 類名

class a

}1.析構器 完成物件銷毀前的清理工作(處理構造器中申請的堆空間)

2.與類名同 無返回 無引數 並且在物件消失的時候 自動被呼叫

3.棧物件:離開其作用域時呼叫析構器

堆物件:如果不delete就不會呼叫析構器 就會造成記憶體洩漏

所以申請堆物件後要進行delete 去呼叫析構器

4.不能過載 不能預設引數

#endif

class array

//使用預設引數 將預設的構造器包含 也可以根據自己意願進行初始化

//array(int size=512)

// array(int size = 1) //構造器引數列表

:buf(new char[size])

~array()

private:

char* buf; //實現動態設定陣列大小

};int _tmain(int argc, _tchar* argv)

C 中的建構函式(構造器)與析構函式(析構器)

該文章的程式 是按繼承中的基類子類來寫的。跟基本的建構函式與析構函式一樣。只是加了一丟丟東西。現在我們直奔主題!c 建構函式和析構函式主要負責構建物件和銷毀物件,在構建物件的時候系統自己呼叫類中的建構函式。在物件作用域結束後,呼叫析構函式銷毀物件。一般來說,建構函式用來完成事先的初始化和準備工作 申...

swift構造器和析構器

1.構造器重載 函式有相同的名字 引數列表不同或返回值型別不同,或外部引數名不同 橫向 類似於值型別構造器 發生在同一類內部,這種構造器稱為便利構造器 在構造器前面加上了convenience關鍵字 向上 發生在繼承情況下,在子類構造過程中要先呼叫父類構造器,初始化父類的儲存屬性,這種構造器稱為指定...

c 構造器和析構器

c 構造器和析構器主要負責構建物件和銷毀物件,在物件作用域結束後,銷毀物件。一般來說,建構函式用來完成事先的初始化和準備工作 申請分配記憶體 析構函式用來完成事後所必須的清理工作 清理記憶體 初始建構函式之建構函式特性 構造器名與類名一樣 定義 car void 呼叫 car car void 析構...