Surcharge d'opérateur - C++ - Programmation
Marsh Posté le 11-11-2006 à 13:09:13
ReplyMarsh Posté le 11-11-2006 à 13:14:12
Non, j'ai fait un using namespace std.
Voici une partie des erreurs retournées par le compilateur:
Citation : $ g++ surcharge.cpp |
Marsh Posté le 11-11-2006 à 13:42:09
Je viens de lire que cout<<a; correspondait à ceci : cout.operator<<(a) ce qui expliquerai que mon cout<<a; ne fonctionnerait pas.
Mais alors quand est ce que cette fonction membre pourrait être appellé ?
Code :
|
Marsh Posté le 12-11-2006 à 11:49:05
c'est à l'envers !
tu devrais faire
ostream &ostream::operator<<(number &a);
mais comme une classe (ici ofstream) est fermée (contrairement aux namespace qui sont ouverts) tu dois passer par une fonction mise dans le namespace std.
Code :
|
edit : et passe number b par const-référence !
Marsh Posté le 11-11-2006 à 12:52:50
Bonjour,
J'ai ce code qui n'est pas une fonction membre de ma classe number :
Ce code fonctionne parfaitement
Par contre si j'esseye de faire une surcharge de << avec une fonction membre de number, ça ne fonctionne pas, pourquoi ?
Merci...
EDIT: en fait ça compile bien sauf quand je met le cout:
number a;
cout<<a;
Message édité par casafa le 11-11-2006 à 13:02:30