[問題] C++語法請益

看板C_and_CPP (C/C++)作者 (留下片段)時間15年前 (2011/03/31 03:41), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
我有幾個問題想請問一下各位先進 1. class ABC { public: void printA() { printf("A"); } }; 一般來說定義(印A)這個動作的時候,是會直接把程式碼的內容寫在class裡面嗎 還是會拉出來在寫,我有看到一種寫法 但我不清楚它的含意是不是把它拉出來寫的意思 ABC::printA() { printf("A"); } 上面這個程式碼我不太清楚他代表的意思是什麼 還是根本我的解讀是錯的 煩請懂得大大 幫我釐清一下觀念 感謝 (以上的程式碼是我自己亂想的 我只是想知道自己的觀念是哪裡有問題) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.139.125

03/31 03:53, , 1F
兩種寫法都可以,第二種是為了把介面與實作分開
03/31 03:53, 1F

03/31 04:41, , 2F
寫在class裡面 會隱含著inline
03/31 04:41, 2F

03/31 09:03, , 3F
下面那種也要宣告傳回值唷 void ABC::printA()
03/31 09:03, 3F

03/31 13:00, , 4F
推 1、2、3樓。
03/31 13:00, 4F

03/31 13:06, , 5F
感謝上面的解答 另外問一下什麼是inline = =
03/31 13:06, 5F

03/31 13:10, , 6F
參考一下: http://0rz.tw/XQn9z
03/31 13:10, 6F

03/31 13:11, , 7F
03/31 13:11, 7F

03/31 13:12, , 8F
簡單的說: inline 就是在 function() 被呼叫的地方
03/31 13:12, 8F

03/31 13:13, , 9F
將 function()內部的程式碼 展開到 被呼叫點。
03/31 13:13, 9F

03/31 13:15, , 10F
優點 : 可以避免 呼叫function() 所帶來的額外成本
03/31 13:15, 10F
文章代碼(AID): #1DauTMRM (C_and_CPP)
文章代碼(AID): #1DauTMRM (C_and_CPP)