建構函式與析構函式區別之面試題目

2021-09-19 15:27:18 字數 667 閱讀 2212

一、建構函式

建構函式是特殊的成員函式。

建構函式的特殊之處:

(1)建立類型別的新物件,系統會自動呼叫建構函式

(2)建構函式是為了保證物件的每個資料成員都被初始化

建構函式的特點:

a:函式名和類名完全相同

b:不能定義建構函式的型別(返回型別)也不能使用void

c:通常情況下建構函式應宣告為共有函式,否則它不能像其他成員函式那樣被顯示呼叫

d:建構函式被宣告為私有函式有特殊的用途

e:建構函式可以有任意的型別,任意個數的引數,乙個類可以有多個建構函式(過載)

二、析構函式

a:函式名類名相似(前面多了乙個字元「~」值得是取反)

b:沒有返回型別

c:沒有引數

d:析構函式不能被過載

e:如果沒有定義析構函式,編譯器將會自動生成乙個預設析構函式,其格式如下:

類名::~預設析構函式名()

f:預設析構函式是乙個空函式

g:析構函式可以顯示呼叫,但一般很少用

三、預設建構函式

1、不帶引數的建構函式

2、如果程式未宣告,則系統自動產生乙個預設建構函式

四、全域性物件的構造先於main函式

常見筆 面試題 之建構函式和析構函式

建構函式是用來初始化乙個物件的,而析構函式的作用則是釋放物件占用的空間。如果將虛函式 建構函式和析構函式結合起來會有怎麼樣的效果呢?建構函式可以是虛函式嗎?答 建構函式不可以是虛函式!基於以下幾點原因 1 構造乙個物件的時候,必須知道物件的實際型別,而虛函式行為是在執行期間動態確定實際型別的。在構建...

建構函式與析構函式

建構函式 主要作用就是為物件初始化。有一點要說的是,在繼承體系彙總,如果在建構函式中,如果沒有指定基類的建構函式,那麼編譯器會在建構函式開頭加入,基類的預設建構函式,這樣就可以初始化基類物件部分 析構函式 對於析構函式,要說的多點,實際也不太複雜,就是加入了virtual 使其具有了多型性質 inc...

建構函式與析構函式

建構函式 先看看建構函式的呼叫順序規則,只要我們在平時程式設計的時候遵守這種約定,任何關於建構函式的呼叫問題都能解決 建構函式的呼叫順序總是如下 1.基類建構函式。如果有多個基類,則建構函式的呼叫順序是某類在類派生表中出現的順序,而不是它們在成員初始化表中的順序。2.成員類物件建構函式。如果有多個成...