Re: [問題] 想請教function的問題

看板C_and_CPP作者 (好人超)時間14年前 (2012/02/01 20:00), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串2/2 (看更多)

02/01 19:45,
j大 我想問說您寫的 第13行到第67行 可以跟foo()包在一起
02/01 19:45

02/01 19:46,
包在一起 變成一個function嗎? 這樣擺到別的程式中 上面這些
02/01 19:46

02/01 19:46,
第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

02/01 20:03, , 1F
第三點沒東西喔,漏掉了xd
02/01 20:03, 1F
貼完之後才發現忘記 header 了...XDDD

02/01 20:13, , 2F
總覺得是因為要急用所以無暇理解物件導向
02/01 20:13, 2F
原PO說他是自學的,大概跟class還不太熟 其實我的重點只有:把程式碼通通包成一個大函式,絕不是好主意 ※ 編輯: james732 來自: 101.13.12.201 (02/01 20:14)

02/01 20:13, , 3F
不可以隨便排斥阿~ 會吃虧的~~
02/01 20:13, 3F

02/01 20:31, , 4F
W大 不好意思啦~ 我非本科系 都是自己學的 所以觀念都有點弱Y
02/01 20:31, 4F

02/01 20:32, , 5F
自己學的時候 到class那邊 沒有看很多 沒有看的很熟
02/01 20:32, 5F

02/01 20:33, , 6F
所以可能問的問題 都會人家懷疑沒有自己先想過 XD 抱歉~
02/01 20:33, 6F

02/01 21:10, , 7F
我也是自學Orz
02/01 21:10, 7F

02/01 21:10, , 8F
照著精華區的書單慢慢看...
02/01 21:10, 8F

02/02 15:11, , 9F
j大 謝謝您的指點 有比較清楚了 ^^
02/02 15:11, 9F
文章代碼(AID): #1FAIbqd4 (C_and_CPP)
文章代碼(AID): #1FAIbqd4 (C_and_CPP)