Re: [問題] factory pattern
※ 引述《tyc5116 (累人啊....)》之銘言:
: 這部份覺得怪怪的,在new出一個物件時給值,return出來時addr不是就遺失了嗎?
: 也就是類似這樣
: int* func()
: {
: int* num=0;
: *num=10;
: return num;
: }
我在想,其他的東西都先不提,這邊關於 new 的部份就需要講一下,
在 func 裡面 new,比如說:
int* func()
{
int* a = new int(1);
return a;
}
跟你上面那段其實不太一樣,new 出來的東西,就算傳出去,還是會存在,
直到你 delete a 之前,都不會消失,不然 new 一大堆不 delete 會如何?
所以你第 30 行 IObject* Builder; 不改成 IObject* Builder = new IObject();
就會動會跑的話,那還真的蠻奇的。因為你後面接一行:
GObject* obj1 = Builder->CreateObject(0);
這樣應該不 work 吧?Builder 裡面是個完全沒有 init 的東西,就算註死讓你
會動,這種寫法是不 ok 的
想給個建議,就是把基本的先學好,不然改成用不需要指標的高階語言,ex: java
來學 Design Pattern 也許會好一點,至少可以少掉 c++ 基本功的問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.14.54
※ 編輯: cgcheng 來自: 220.139.14.54 (11/18 05:12)
→
11/18 08:37, , 1F
11/18 08:37, 1F
→
11/19 16:49, , 2F
11/19 16:49, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 7 篇):