Re: [問題] C++ header file 疑問

看板C_and_CPP作者 (鍵盤榜首)時間8年前 (2016/06/24 10:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《maxi326 (尋找獨立遊戲製作團員!)》之銘言: : 最近因為要用到一個開源專案, 需要看裡面的C++ code, 本身對C++不熟 : 但越看覺得越疑惑, 本身是有JAVA經驗, 同樣是OOP, 看來想法很不一樣 : C++跟C一樣, 需要header file, 我自己的直覺是這樣 : header負責定義框架, 讓其他人只要看到header, 就知道這個class有些甚麼, 包含 : include了那些其他文件, 類別方法的signature, 等等 : cpp檔案負責實作這些邏輯, 理想情況下, 一個cpp檔只定義一個類別, 並只include自己 : 的header file : 但實際上, 我看到的source code, header裡面有include一堆文件, cpp檔又include另一 : 堆, 然後header裡面定義不止一個class, 而且還有實作邏輯在裡面. 閱讀起來真的是一 : 種折磨. : 我想問的是, C++寫成這樣是一種怎樣的pattern? 因為開源專案都有很多人在寫, 如果 : 分散成這樣, 應該很難互相合作才對, 所以這種pattern是代表某種大家認同的設計模式? : C++的header該負責甚麼內容, 是不是有大家比較公認的pattern? 第一 c家族中最接近java只有C# 如果你看不順眼 請找cs函式庫^^ 如果你對C++有興趣 請參考boost 兩個原因 1.STL的擴充TR1跟boost重疊 還算是一種標準 2.cmake是現在主流 從boost這邊可以看到隨便選一個hpp到處是你所說的"問題" 第二 如果要說好的design pattern 頂多還是TDD 所以推薦你看gtest -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.20.124 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1466736462.A.53A.html

06/24 23:38, , 1F
答非所問....
06/24 23:38, 1F
文章代碼(AID): #1NR9zEKw (C_and_CPP)
文章代碼(AID): #1NR9zEKw (C_and_CPP)