J'ai besoin de surcharger l'opérateur < < pour que les flux fonctionnent avec les types intégrés. Pour les chaînes, il est pas un problème, puisque je simplement surcharger la fonction comme ceci:Surcharge en C++ << opérateur
ostream& operator<<(ostream& os, const char* str) { /*...*/ }
Cela fonctionne parce que cette fonction est globale, pas membre. Le problème est que j'ai besoin de surcharger l'opérateur < < pour d'autres types primitifs (ints, floats, etc) mais ce sont des fonctions membres. Y a-t-il un moyen de le faire? J'en ai besoin pour travailler non seulement avec cout, mais aussi avec d'autres flux. Merci d'avance.
Je ne sais pas ce que vous entendez ... 'operator <<' * existe déjà * pour les types 'ostream &' et built-in. Pas besoin de le surcharger. Idem pour 'const char *'. –
vous voulez dire, vous devez avoir 2 fonctions surchargées pour <<. Un global et un membre. Cependant, les paramètres diffèrent [global pour les types de chaîne et la fonction de membre pour les autres types de données]. Droite ??? –
Je sais qu'il y a déjà une surcharge pour ostream &. Mais je dois le surcharger parce que j'en ai besoin pour me comporter différemment (pas simplement pour imprimer les caractères). – Mirko