怎樣構造乙個正確高效的C 的類的建構函式

2021-06-20 18:20:08 字數 698 閱讀 5357

類的建構函式看似簡單,實則很有玄機,在構造乙個類的建構函式時,只要遵循以下幾步,便可以建立出乙個正確的高效的建構函式:

1.了解c++編譯器默默編寫並呼叫了哪些函式,若不想使用編譯器自動生成的函式,  就該明確拒絕(effctive c++條款5,6)

2.定義的建構函式不能指定其返回值的型別,也不能指定為void型別。

3.若要用類定義物件,則建構函式必須是公有型成員函式,否則類無法例項化。

若類僅用於派生其他類,則建構函式可定義為保護型成員函式(

1.為什麼

private

不行?我理解的是只用作一次派生是可以的,

但用作兩次派生就不可以了, 因為若派生兩次後,私有成員就沒法再被訪問了,也即基類的建構函式無法被呼叫了)。

4.倘若有指標型成員變數,則要對拷貝建構函式進行重寫(見我的另一篇文章:「若類中有指標型資料成員,類的幾個函式的重寫」)

5..當建構函式過載或設定建構函式預設形參時,要注意避免出現二義性。

6..建構函式最好使用成員初始值列表,而不要在建構函式內使用賦值操作

7..考慮是不是要把建構函式設定為explict特性

8.決不在建構函式和析構過程中呼叫virtual函式

9.倘若是派生類的建構函式,則考慮是(1)用初始化成員列表值的形式呼叫特定的基類的建構函式還是(2)不提供初始化列表,預設呼叫基類的預設隱式建構函式

C 構造乙個類的物件的一般順序

include using namespace std class base0 基類base0的宣告 int x class base1 virtual public base0 base0為虛基類,公有派生base1類 class base2 virtual public base0 base0為...

題目 寫乙個只能構造乙個物件的類

題目 寫乙個只能構造乙個物件的類 整理 cmdhack 2010年1 月24日19 47 49 分析 建構函式分為有參構造 無參構造 拷貝構造 三種方法 物件又分為棧中構造物件和堆中構造物件 首先來按照普通的做法寫乙個類如下 很顯然如果單單這樣可以構造無數個物件 那我設想一下如果在建構函式中做乙個 ...

乙個C 類的注釋

ifndef runtimepara hpp define runtimepara hpp include 後面會有介紹 include c 中的map使用見下文,class cruntimepara 複製等號右邊的成員到左邊的物件中 this m real rhs.m real this m im...