[問題] 副程式輸入不同類型

看板C_and_CPP作者 (麵T)時間12年前 (2013/11/20 14:28), 編輯推噓0(008)
留言8則, 6人參與, 最新討論串1/1
比如說有一個取大值的副程式: max(int a,int b); 但這樣宣告的結果,他只能處理整數,如果也想讓他同時處理float、double甚至char 有辦法做到嗎?還是只能再寫另一個副程式? -- 我是麵T,哩賀 http://ppt.cc/-eS5 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.196.151

11/20 14:30, , 1F
template
11/20 14:30, 1F
用 template 呼叫副程式時,必須要告訴他類型 max<float>(grade, 10) → 改成 max<float>(a,b) http://www.csie.nctu.edu.tw/~skyang/templates.zhtw.htm 可以讓副程式自己判斷嗎? ※ 編輯: noodleT 來自: 140.117.196.151 (11/20 15:24)

11/20 15:41, , 2F
那你為什麼給他 10
11/20 15:41, 2F

11/20 16:55, , 3F
上面max<float>是NCTU網站上面的例子
11/20 16:55, 3F
※ 編輯: noodleT 來自: 140.117.196.151 (11/20 16:56)

11/20 17:34, , 4F
你在多研究...
11/20 17:34, 4F

11/20 18:36, , 5F
如果是比數字 用巨集不行嗎?
11/20 18:36, 5F

11/20 18:37, , 6F
如果是比物件,覆寫比較子
11/20 18:37, 6F

11/20 19:27, , 7F
若編譯器可以自行推導 就不用給型別
11/20 19:27, 7F

11/21 01:48, , 8F
overload?
11/21 01:48, 8F
文章代碼(AID): #1IZ5QGXo (C_and_CPP)