surcharge ostream - non appelé
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
Code:
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 |
MatriceBande.cxx
Code:
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;
} |
Test.cxx
Code:
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...