Re: [問題] 多型的問題

看板C_and_CPP作者 (清兒)時間13年前 (2012/03/10 01:11), 編輯推噓0(0012)
留言12則, 4人參與, 最新討論串2/3 (看更多)
藉機會來弱弱地問下問題 ~><~ 我會這樣用 http://ideone.com/83KkZ 其實我覺得泛型的運用上~ 是可以因為 constructor 出來的物件不同 but 卻被當作同一類型的物件來處理 像是 94 行中 當不管是 Beef or Tea 被傳進後 , 在 eatSomeThing 之中都被當作為 VirCanBeOrder 這是我的理解啦 orz 其實我也不是很確定要這樣用 and 為何大家喜歡用 Son * son = new Father(); <---這種寫法呢? 這樣出來的 son 物件 不透過 cast 應該不知道他老爸是誰吧(? Father son = new Father(); <--- 這樣才可以把 son 當老爸用 ... 還是我有哪邊誤解了 orz 感謝各位 ... 修正下 應該是 Father * obj = new Son(); or Son * obj = new Son(); 假如 son 跟 father 是代表繼承的關係的話 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.161.122.104

03/10 01:11, , 1F
把老爸當兒子用的情況應該不多吧…?
03/10 01:11, 1F

03/10 01:12, , 2F
Son * son = new Father(); 這種寫法很常見嗎?
03/10 01:12, 2F

03/10 01:14, , 3F
是不是筆誤,把多型打成泛型?
03/10 01:14, 3F

03/10 01:15, , 4F
我認為主要的精神是讓不同的class有一個溝通界面
03/10 01:15, 4F

03/10 01:16, , 5F
這在dp裡面很常用到,為了要減少相同的程式複製貼上
03/10 01:16, 5F

03/10 01:17, , 6F
同一個func只管界面,不管實作,跟template很像
03/10 01:17, 6F

03/10 01:19, , 7F
一般father只當界面,沒在實作的吧
03/10 01:19, 7F

03/10 01:20, , 8F
orz 我一直把泛型跟多型搞混...來去面壁
03/10 01:20, 8F

03/10 01:20, , 9F
就算你new father假如裡面有virtual也會error
03/10 01:20, 9F

03/10 01:24, , 10F
我把老爸跟兒子的地位搞反了-.-
03/10 01:24, 10F
※ 編輯: cuteclare 來自: 218.161.122.104 (03/10 01:27)

03/10 01:25, , 11F
這時候我應該說有笑有推嗎...
03/10 01:25, 11F
※ 編輯: cuteclare 來自: 218.161.122.104 (03/10 01:28)

03/11 23:52, , 12F
THANKS
03/11 23:52, 12F
文章代碼(AID): #1FMZct8p (C_and_CPP)
文章代碼(AID): #1FMZct8p (C_and_CPP)