Bonjour,
Je suis passé par plusieurs tuto et forum discutant des pbs de surcharges d'ostream, je n'ai pas trouvé mon bonheur.
Le problème c'est que si je met un point d'arrêt (indiqué par ->*) dans la fonction surcharge d'ostream, le programme ne s'arrête pas ! J'ai la vague impression qu'il évite la surcharge et je ne comprends pas pkoi. J'ai rajouté des std:: partout, rien ne change.
MatriceBande.hxx
MatriceBande.cxx
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 #ifndef MatriceBande_HeaderFile #define MatriceBande_HeaderFile #include <iostream> using namespace std; class MatriceBande { private: [...] public: [...] friend std::ostream & operator << ( std::ostream &, const MatriceBande &); void print(std::ostream&) const ; }; #endif
Test.cxx
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 #include "MatriceBande.hxx" [...] void MatriceBande::print(std::ostream & s) const { cout<<"lskcsk"; for ( int j= 0 ; j < L ; j++) {s << A[j] <<" ";} s << endl; } std::ostream & operator << ( std::ostream & sortie , MatriceBande & m) { ->*Point D.Arrêt if (m.getA()!=NULL) { m.print(sortie); } return sortie; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include "MatriceBande.hxx" int main () { MatriceBande *M1 = new MatriceBande(5,3); std::cout<<M1; return 0; }
La seule chose que ca affiche est :0x3d2508
Merci pour l'aide...
Partager