C++模版從精通到精神分裂

全部寫C++的文章,若是沒有源代碼都是在耍流氓。閒話不說, May the source be with you!函數

9ccc0ca9gy1frb0g2rs5mj20lg0duwet.jpg

​這是一個教科書般經典的例子。介紹C++的繼承和多態。 這裏惟一須要重點強調的是:對函數LetAnimalTalk和vector va 來講,咱們能夠想象他們是客戶。[face=黑體]經過繼承把變化封裝到基類的後面,這樣使用基類接口的客戶就不須要改動![/face]對客戶來講,不管基類後面怎麼變化,你都影響不到我。例如,若是如今有一個經理狗加入了項目團隊,你的LetAnimalTalk函數是不須要任何改變的。blog

So far so good! 如今看看引入模版後,發生了什麼?繼承

9ccc0ca9gy1frb0gchi3mj20lh0iljso.jpg

​基本的應用場景是這樣的。對於animal, 你能夠用字符串來表示他的ID, 若是你想developer是不該該享有字符串名字的,那麼你也能夠用整型數來表示他的ID。上面整個的程序,若是你把main中換成下面的樣子,除了貓會有點意見,其它一切都沒有問題!接口

相關文章
相關標籤/搜索