Re: [心得]C++為何只把宣告放在HEADER FILE 內?

看板C_and_CPP (C/C++)作者 (我要加入劍道社!)時間18年前 (2006/04/30 21:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
: 推 GoldenField:如果不知道檔案型態的時候 用void*不是很正常嗎? 04/30 19:52 : → GoldenField:應該是 變數型態 04/30 19:52 比較好的作法是 polymorphism 你雖然不知道它真正的型態 但你知道要如何操作它 所以應該把操作界面抽出並定義為 base class 然後再衍生出可能的 subclass 這邊我說的 polymorphism 不只是 dynamic polymorphism 使用 template 達成的 static polymorphism 也可以辦到 使用 void* 不是不能解決問題 但只要你把某個指標轉成 void* 就失去了所有的資訊 所有的物件只要被轉成 void* 不管它們有沒有共同的操作界面 都會被一視同仁地對待 因此程式設計師必須花費多餘的力氣去分辨它們 這是個很值得討論的部份 因為它是 C 與 C++ (或是說 procedural 與 OOP)在思維上的重大差異之一 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.3.35

04/30 23:00, , 1F
深表贊用,C#各類別都繼承自Object, C++寫作時該多使用介面
04/30 23:00, 1F
文章代碼(AID): #14LBKRX8 (C_and_CPP)
文章代碼(AID): #14LBKRX8 (C_and_CPP)