Le constructeur par copie n'est jamais appelé
bonjour,
je travaille sur une application qui manipule des données de température, humidité, etc... qui arrive dans un flux au format XML. J'ai écris une classe Extracteur qui parcourt ce flux pour en extraire ce qui m'intéresse sous forme de string et me retourne un objet Releve qui contient les valeurs numériques correspondantes.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
//classe Extracteur
Extracteur::Extracteur(string& trame)
{
this->trame = trame;
}
Releve Extracteur::extract()
{
//.... code qui extrait les valeurs de la trame
//instancier un relevé avec deux valeurs
Releve releve(extracted_te, extracted_rh);
return releve;
}
//classe Releve
Releve::Releve(string& t, string& rh)
{
stringstream ss(t);
ss >> temperature; //t est converti en float dans l'attribut temperature de Releve
stringstream sss(rh); //idem
sss >> humidite;
}
Releve::Releve(const Releve& m)
{
cout << "Constructeur recopie" << endl;
}
//Main
Extracteur extracteur(trame);
Releve releve(extracteur.extract()); //ICI je pensais voir passer le message du constructeur de recopie
//exploitation de l'objet releve
.... |
Je ne vois jamais passer ce message alors que tous les tutos disent que ce devrait être le cas.
Merci.