關於建構函式的小結(學習中)

2021-07-27 10:36:49 字數 690 閱讀 1497

建構函式的名字和類名相同,沒有返回型別,不能被宣告為const的。當我們建立類的乙個const物件時,直到建構函式完成初始化過程,物件才能真正取得其「常量屬性」。因此建構函式在const物件的構造過程中可以向其寫值。

某些類不能依賴於合成的預設建構函式:

①編譯器只有在發現類不包含任何建構函式的情況下才會替我們生成乙個預設建構函式。

②對於某些類來說,合成的預設建構函式可能執行錯誤的操作。(可能會使指標之類的未定義)

③有的時候編譯器不能為某些類合成預設的建構函式。例如,類中包含其他型別的成員且這個成員的型別沒有預設建構函式。

建構函式的初始值有時必不可少:

如果成員是const或者是引用的話,必須將其初始化。類似的,當成員屬於某種類型別且該類型別沒有定義預設建構函式,也必須將其初始化:

例如

class constref

//ci和ri必須被初始化

隨著建構函式體一開始執行,初始化就完成了。我們初始化const或者引用型別的資料成員的唯一機會就是通過建構函式初始值,因此該建構函式的正確形式應該是:

「` constref::constref(int ii): i(ii), ci(ii), ri(i)

在實際中,如果定義了其他建構函式,那麼最好也提供乙個預設建構函式。

建構函式小結隨筆

物件包括屬性和方法 屬性就是需要記憶的資訊,方法就是物件能夠提供的服務 建構函式是乙個普通函式,但是內部使用了this變數。對建構函式使用new運算子,就能生成例項,並且this變數會繫結在例項物件上。在記憶體中只生成一次,然後所有例項都指向那個記憶體位址。每乙個建構函式都有乙個prototype屬...

c 學習 關於類的建構函式

之前使用的是acquire函式進行stock類的賦值,現在利用類自己的建構函式 首先在標頭檔案中宣告這個建構函式 stock stock const string co.long n,double cr 之後在函式定義和宣告的cpp中定義這個建構函式如下 stock stock const stri...

關於建構函式的預設構造

拷貝建構函式 是用於當乙個 使用者自定義型別的物件 作為函式引數時,系統預設 的拷貝建構函式 不能達到目地,這時需要用到 使用者自己定義 的拷貝建構函式 通常是 類的私有成員裡有起到重要作用的指標變數 當進行函式引數的 值傳遞 時,系統會呼叫 拷貝建構函式 如果沒有 自定義 拷貝建構函式 則系統會呼...