看板 C_and_CPP 關於我們 聯絡資訊
藉機會來弱弱地問下問題 ~><~ 我會這樣用 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
james732:把老爸當兒子用的情況應該不多吧…? 03/10 01:11
james732:Son * son = new Father(); 這種寫法很常見嗎? 03/10 01:12
diabloevagto:是不是筆誤,把多型打成泛型? 03/10 01:14
diabloevagto:我認為主要的精神是讓不同的class有一個溝通界面 03/10 01:15
diabloevagto:這在dp裡面很常用到,為了要減少相同的程式複製貼上 03/10 01:16
diabloevagto:同一個func只管界面,不管實作,跟template很像 03/10 01:17
diabloevagto:一般father只當界面,沒在實作的吧 03/10 01:19
cuteclare:orz 我一直把泛型跟多型搞混...來去面壁 03/10 01:20
diabloevagto:就算你new father假如裡面有virtual也會error 03/10 01:20
cuteclare:我把老爸跟兒子的地位搞反了-.- 03/10 01:24
※ 編輯: cuteclare 來自: 218.161.122.104 (03/10 01:27)
diabloevagto:這時候我應該說有笑有推嗎... 03/10 01:25
※ 編輯: cuteclare 來自: 218.161.122.104 (03/10 01:28)
pracinverse:THANKS 03/11 23:52