看板 C_and_CPP 關於我們 聯絡資訊
請問,以factory pattern建立物件,如下 http://codepad.org/DU5sLXpg 可以正確建立不同的物件 可是我怎麼取得obj1及obj2的屬性值呢? 也就是怎麼取得obj1在它為ObjectA所設定的ID,及obj2在它為ObjectB所設定的ID 這部份覺得怪怪的,在new出一個物件時給值,return出來時addr不是就遺失了嗎? 也就是類似這樣 int* func() { int* num=0; *num=10; return num; } 又或者,透過ObjectA及ObjectB的ctor給值(還沒試) 但obj1和obj2又要如何取得值? 以及,屬性如何需要常常修改,又要如何處理呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.175.13 ※ 編輯: tyc5116 來自: 111.251.175.13 (11/17 12:23)
aleelyle:你先把error改掉就知道怎麼處理了 11/17 13:30
tyc5116:這是我為了便於po文才這樣寫的,而且即使以這樣子寫 11/17 13:31
tyc5116:實際上也是正常結果 11/17 13:31
aleelyle:好吧我是說這段GObject* obj1 = Builder->CreateObj..... 11/17 13:43
tyc5116:不懂... 11/17 14:14
legnaleurc:GObject 和 IObject 有什麼關係嗎? 11/17 17:51
james732:factory pattern可以用在擁有相同介面但不同實作的物件 11/17 17:52
tyc5116:IObject在這裡就是factory,用來生產給GObject 11/17 22:05
tyc5116:jame大,不同實作的物件分別擁有的屬性怎麼取得 11/17 22:06
tyc5116:我是感覺取不到所以對這樣的pattern有此疑問 11/17 22:07
firose:factory 就是要消除產品的差異,你要存取產品專屬的特性, 11/18 13:46
firose:就不要用 factory 了吧 11/18 13:46