relation de composition et destructeur
Bonjour,
je code un test unitaire à propos de la relation de composition entre deux classes.
Mon code:
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 37 38 39 40 41 42 43 44 45 46 47
|
class Moteur {
private:
string type;
public:
Moteur(const string&);
~Moteur();
};
Moteur::Moteur(const string& t):type(t)
{
cout << "Xtor Moteur de type " << type << endl;
}
Moteur::~Moteur()
{
cout << "Dtor Moteur de type " << type << endl;
}
class Voiture {
private:
string marque;
Moteur moteur; //implante la composition un objet dans lobjet
public:
Voiture(const string& marque, const string& moteur);
~Voiture();
};
Voiture::Voiture(const string& ma, const string& mo):marque(ma), moteur(mo)
{
cout << "Xtor Voiture de marque " << ma << endl;
}
Voiture::~Voiture()
{
cout << "Dtor Voiture de marque " << marque << endl;
}
int main()
{
string marque("Volvo");
string moteur("TX 617");
Voiture V(marque, moteur);
exit(EXIT_SUCCESS);
} |
Je vois bien passer le constructeur du moteur puis celui de la voiture.
Par contre je ne vois jamais les cout dans les destructeurs. Pourtant il n'y a pas d'ambigüité quand V sort de sa portée, on devrait les traverser ...
Merci pour vos réponses.