2009-12-12 6 views
0

Je ne sais pas si ce dont je parle est une question de surcharge d'opérateur. est-il possible de surcharger les mots-clés en C++ ??
par exemple: j'ai besoin d'écrire loopOver (i = 0;; i ++) au lieu de for (i = 0 ;; i ++) ?? est-ce possible en C++surcharge de l'opérateur C++

et je dois avoir quelque chose comme 2 addTo 2 au lieu de 2 + 2

s'il vous plaît aider merci à l'avance

+1

Vous pouvez utiliser une macro loopOver #define pour #define addTo + – OneOfOne

+2

Avez-vous une raison cachée de vouloir le faire? – Artelius

+2

Pourquoi avez-vous * "besoin d'écrire" * ceci? Avec un arrière-plan, vous pourriez obtenir des réponses plus utiles. –

Répondre

8

Vous ne pouvez pas le faire avec la surcharge d'opérateur (vous pouvez ne changez pas les noms des opérateurs, seulement comment ils fonctionnent).

Cependant, le mal comme il est, si vous ne voulez pas changer la façon dont ils travaillent (seulement les noms), vous seriez en mesure de réaliser des choses comme cela à l'aide de macros:

#define loopOver for 
#define addTo + 

(utilisation macros avec un soin extrême bien - si elle est utilisée de manière incorrecte, ils peuvent causer des problèmes hideux)

+0

Battez-moi. Arg! :) – mkgrunder

+1

Je l'ai mis à jour parce que c'est la bonne réponse, mais seulement après avoir surmonté mon besoin réfléchi de downvoter n'importe quel post qui contient du code qui # définit le mot-clé 'for'. –

+0

Je suis d'accord. C'est la réponse à l'OP, pas la réponse à la question "devrais-je réellement faire ceci?", À laquelle la réponse est un "non!" Emphatique. –