2009-12-12 137 views
0

我不知道我在說什麼是操作符重載問題。 是否有可能在C++中重載關鍵字?例如:我需要寫loopOver(i = 0;; i ++)而不是for(i = 0 ;; i ++)??是可能在C++C++操作符重載

,我需要有2 AddTo就2而不是2 + 2

像請幫助 在此先感謝

+1

你可以使用宏 的#define loopOver爲 的#define AddTo就+ – OneOfOne 2009-12-12 09:56:06

+2

你有一個隱藏的原因,想做到這一點? – Artelius 2009-12-12 09:58:33

+2

你爲什麼*「需要寫」*這個?有了背景,你可能會得到更多有用的答案。 – 2009-12-12 09:58:38

回答

8

你不能做到這一點與運算符重載(可以不改變運營商的名稱,只改變運營商的名稱)。

然而,邪惡的,因爲它是,如果你不想改變他們的工作(只是名稱)的方式,你就可以實現這樣的事情使用宏:

#define loopOver for 
#define addTo + 

(使用格外小心宏,但 - 如果使用不當,它們可能會導致可怕的問題)

+0

打敗我吧。精氨酸! :) – mkgrunder 2009-12-12 09:57:24

+1

我upvoted這個,因爲它是正確的答案,但只有在克服了我的反射衝動downvote包含代碼重新定義'for'關鍵字的任何帖子。 – 2009-12-12 11:05:25

+0

我同意。這是OP的答案,而不是「我應該這樣做嗎?」這個問題的答案,答案是強調「不!」。 – 2009-12-12 13:44:42