Supposons que je tapey a un tableau entier ou entier ou tout type connu: puis i Overload Opérateur * Pour les paires int 2, si j'initialise les variables A et B comme INT. Alors mon * entre A et B soit-il surchargé *? P> Comment puis-je obtenir surcharger un int et encore utiliser * pour la façon dont ils sont. Devrais-je créer un nouveau type? P> p>
3 Réponses :
C n'autorise pas la surcharge de l'opérateur. P>
Bien que ce n'était pas à l'origine à 100%, il s'agissait d'une question C ++, la question a maintenant été mise à jour pour clarifier. Donc, à l'origine, cela aurait probablement dû être un commentaire, il n'est donc certainement pas une réponse pertinente. S'il vous plaît supprimer ça.
En supposant que vous parlez de C ++:
Les surcharges de l'opérateur doivent prendre au moins un argument de type défini par l'utilisateur. Le Typedef code> ne change rien, car il n'entraîne pas de nouveau type et fournit uniquement un synonyme. P>
Ce dont vous avez besoin est un STRAND TECHEDEF B>. P>
Boost proposé une version qui devrait fonctionner pour vous, ou du moins vous aider à résoudre votre besoin: p>
http://www.boost.org/doc/libs/1_42_0/boost/strong_typef.hpp p>
Peut-être utiliser une énumération plutôt que l'int? Vous pouvez définir des opérateurs personnalisés pour les énumérations.