通過類名稱得到該類的新物件指標

2021-03-31 08:56:59 字數 743 閱讀 2299

用過虛函式的程式設計師,肯定對

switch/case

句型帶有一種不想用的心理,因為如果

case

過多的話,至少會有以下缺點: 1)

**太長,不適合檢視和管理; 2)

switch/case

不夠靈活; 3)

擴充性不夠好,比如每增加乙個

case

都要更改**。

mfc有乙個很好的框架,繼承自

cobject

且通過declare_dynamic()

和implement_dynamic

宣告的類,其動態建立類

cruntimeobject

都會被加到類別型錄網中去,如果能取得這個動態建立類,就能建立出該類物件。下面的**就是在類別型錄網中尋找類名對應的動態建立類,如果找到,就建立物件,並返回該物件指標;否則返回

null。

cobject* getobjbyclassname(cstring strclassname)

}

return null; }

返回的指標是

cobject *

型別,在得到後可以轉換成你需要的型別!(注意安全控制哦)

注:

1)

繼承自cobject 2

)declare_dynamic()

和implement_dynamic宣告

3)

要有預設建構函式

C 有指標成員的類如何拷貝 賦值該類物件

當乙個帶有指標成員 b的類a被拷貝或賦值給b時,該指標所指向的記憶體多出乙個指標b.b,這樣,當a 物件析構時,刪除了a.b所指向的記憶體,這時,當b析構時,利用delete 釋放b.b指向的記憶體時發現要釋放的記憶體不存在,會導致錯誤。class publisher class book book...

實驗名稱 類和物件的建立

實驗三 實驗課時 2 實驗性質 設計 實驗名稱 類和物件的創 實驗目的 1 熟悉 c 物件導向的程式設計的基本概念 2 練習類的定義和物件的建立 3 練習物件的成員函式的呼叫方法以及物件的初始化 實驗裝置 1 硬體 個人微機 配置不低於 cpu為 p4,主頻 1.6g 記憶體256mb 硬碟40gb...

得到乙個類的class物件

1.class的forname 方法的返回值就是class型別 2.class 類名 clazz 類名.class,例子 classclazz student.class 3.object 類中有乙個名為getclass的成員方法,返回的是物件執行時類的class物件。student stu new...