[問題] ++ 運算子的多載

看板C_and_CPP作者 (inbox)時間15年前 (2010/12/27 17:01), 編輯推噓8(8024)
留言32則, 5人參與, 最新討論串1/1
請問一下兩個問題 (1) ++ 運算子的多載的寫法------------------------------- 如果只是 ++物件 用一般的多載寫法就好 但我不清楚 ++物件 和物件++ 兩種宣告方式要怎麼寫 大概有點想法是 ++物件 要先作加的動作再RETURN物件 物件++ 作加的動作 但RETURN 沒加過的物件 可是兩種多載 在標頭檔的宣告差在哪裡呢?? (2)subscprit [] 的多載問題------------------------------------------ 想出來了XD -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.186 ※ 編輯: inbox 來自: 140.112.4.186 (12/27 17:04)

12/27 17:04, , 1F
(1) operator ++(),operator ++(int) 硬分
12/27 17:04, 1F

12/27 17:05, , 2F
(2) 你想出來了XD
12/27 17:05, 2F

12/27 17:06, , 3F
Obj& operator ++() // ++Obj
12/27 17:06, 3F

12/27 17:07, , 4F
Obj operator ++(int) // Obj++
12/27 17:07, 4F

12/27 17:08, , 5F
回傳是傳址或傳值是看Obj要不要再被改
12/27 17:08, 5F

12/27 17:08, , 6F
所以你可以視情況調整
12/27 17:08, 6F

12/27 17:09, , 7F
而compiler是看你有沒有傳(int)區分++Obj跟Obj++
12/27 17:09, 7F

12/27 17:10, , 8F
但其實你不用傳int 好像也不能傳?!
12/27 17:10, 8F

12/27 17:11, , 9F
有觀念錯請強者指正謝謝:)
12/27 17:11, 9F

12/27 17:12, , 10F
@@ 可以傳int嗎?? 我試試看XD
12/27 17:12, 10F

12/27 17:18, , 11F

12/27 17:18, , 12F
也可以亂改 return value
12/27 17:18, 12F

12/27 17:19, , 13F

12/27 17:29, , 14F
感恩耶~可是好神奇 想不透為何會那樣耶@@ 挑咪外??
12/27 17:29, 14F

12/27 17:40, , 15F
我也不知道 教我的人說是compiler規定的@@"
12/27 17:40, 15F

12/27 17:41, , 16F
傳址...
12/27 17:41, 16F

12/27 17:42, , 17F
語言規定的 這沒什麼理由  不然五樓你說說要怎麼分
12/27 17:42, 17F

12/27 17:46, , 18F
喔!不是傳址! 五樓那個應是傳reference
12/27 17:46, 18F

12/27 17:47, , 19F
pass by reference or by value 感謝love大
12/27 17:47, 19F

12/27 17:47, , 20F
唉呀 我說五樓沒有特指是誰只是習慣名詞 不然樓下的說
12/27 17:47, 20F

12/27 17:47, , 21F
說要怎麼分好了
12/27 17:47, 21F

12/27 17:47, , 22F
話說pass by reference要怎麼翻阿(茶
12/27 17:47, 22F

12/27 17:51, , 23F
傳址 址參 傳參照 primer好像是這樣寫的
12/27 17:51, 23F

12/27 17:52, , 24F
講英文最快啦 所以中英混雜的對話就是這樣來的(誤
12/27 17:52, 24F

12/27 17:53, , 25F
http://ppt.cc/sYTA 重載運算子請遵守裡面的signature
12/27 17:53, 25F

12/27 17:54, , 26F
格式, 這是必須負的責任, 讓它用起來跟內建型態一樣
12/27 17:54, 26F

12/27 17:54, , 27F
亂改一通是不好的寫法
12/27 17:54, 27F

12/27 17:58, , 28F
obj.operator++(99) 就可以傳整數進去了, 通常參數不
12/27 17:58, 28F

12/27 17:59, , 29F
寫出來表示不會用到他, 只是為了多載識別用
12/27 17:59, 29F

12/27 18:01, , 30F
了解! 我只是想表達語言允許我們這樣做
12/27 18:01, 30F

12/27 18:01, , 31F
再次謝謝love大^^
12/27 18:01, 31F

12/27 18:08, , 32F
真的謝謝樓上的各位!!!!懂了很多新東西!!!! :)
12/27 18:08, 32F
文章代碼(AID): #1D65NQxn (C_and_CPP)