看板 C_and_CPP 關於我們 聯絡資訊
ieck:j大 我想問說您寫的 第13行到第67行 可以跟foo()包在一起 02/01 19:45
ieck:包在一起 變成一個function嗎? 這樣擺到別的程式中 上面這些 02/01 19:46
ieck:第13行到第67行 就不用看起來這麼多~! 02/01 19:46
如果你想要重覆利用這段程式碼,應該是這麼做的: (1) 用你的開發工具,新增一個 .cpp 檔以及 .h 檔 假設叫做 PoissonRandom.cpp 與 PoissonRandom.h 吧 (2) PoissonRandom.cpp 的內容是這樣:http://ideone.com/ySiZH 請注意這個檔案裡不能有 main() 另外第六行要加個 #include "PoissonRandom.h" (雖然非必要,但還是加一下,意思會比較明確) (3) PoissonRandom.h 的內容是這樣:http://ideone.com/qQuUN 那個 #ifndef, #define, #endif 的意義請上網搜尋 而它們在這裡的作用也請搜尋「Include guard」 (4) 當你想在main裡使用 PoissonRandom 這個函式的時候 就是這麼用 http://ideone.com/B1Tlt 只要你的這幾個檔案都在同一個專案裡,應該是可以正常執行的 這麼做就可以把 PoissonRandom 以及相關的東西丟到另一個獨立的檔案 不管這些東西有多長,你的 main 也可以不用在乎它們 這樣最後的 main 程式的檔案看起來也很簡潔(就是上面第(4)點那樣) 把那些東西通通塞進一個函式,是可以做得到的,但並不是一個好主意 因為函式越長,日後想要閱讀、維護、修改,就會越困難 有興趣的話,相關的背景知識,可以看 #1DgrW4a5 (15351) 這篇 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 101.13.12.201
diabloevagto:第三點沒東西喔,漏掉了xd 02/01 20:03
貼完之後才發現忘記 header 了...XDDD
WJAider:總覺得是因為要急用所以無暇理解物件導向 02/01 20:13
原PO說他是自學的,大概跟class還不太熟 其實我的重點只有:把程式碼通通包成一個大函式,絕不是好主意 ※ 編輯: james732 來自: 101.13.12.201 (02/01 20:14)
WJAider:不可以隨便排斥阿~ 會吃虧的~~ 02/01 20:13
ieck:W大 不好意思啦~ 我非本科系 都是自己學的 所以觀念都有點弱Y 02/01 20:31
ieck:自己學的時候 到class那邊 沒有看很多 沒有看的很熟 02/01 20:32
ieck:所以可能問的問題 都會人家懷疑沒有自己先想過 XD 抱歉~ 02/01 20:33
diabloevagto:我也是自學Orz 02/01 21:10
diabloevagto:照著精華區的書單慢慢看... 02/01 21:10
ieck: j大 謝謝您的指點 有比較清楚了 ^^ 02/02 15:11