Bonjour a tous,
Je n'arrive pas a redefinir l'operateur "<<" avec ma classe. Voici ce que j'ai reussi a faire compiler en tatonnant :
IntervalleErreur.cxx
IntervalleErreur.hxx
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 string operator << (const string toto, const IntervalleErreur &IE) { switch (IE.type_ie) { case 0: return toto+" DefinitionErreur"; break; case 1: return toto+" EmptyErreur"; break; case 2: return toto+" DivisionParZeroErreur"; break; } }
J'ai reussi dans une autre classe a surdefinir des operateurs "+", "-", "*"...etc. a peu pres de la meme maniere, mais ca n'a pas l'air de fonctionner de la meme maniere avec cet operateur la.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <string> using namespace std; #ifndef INTERVALLEERREUR #define INTERVALLEERREUR enum ErreurType {DefinitionErreur, EmptyErreur, DivisionParZeroErreur}; class IntervalleErreur { private: ErreurType type_ie; public: friend string operator << (const string, const IntervalleErreur&); IntervalleErreur(ErreurType); void AfficheIE(void); }; #endif
Le but est que quand je fais:
j'obtienne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IntervalleErreur ie(EmptyErreur); cout<<"Type de l'erreur "<<ie<<endl;
Quelqu'un peut me depanner ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Type de l'erreur EmptyErreur
Merci d'avance
Partager