Constructeurs et hétitage
Salut !
J'ai un problème pour écrire proprement un code.
J'ai une classe C qui utilise la structure S, mais je dois définir pour cette dernière ses constructeur et destructeur.
Je me demandais si j'avais le droit de faire par exemple :
Code:
1 2 3 4 5 6 7 8 9 10
| struct S
{
//champs, constructeur et destructeur
};
class C
{
//champs
S objet1, objet2;
}; |
afin que objet 1 et 2 soient automatiquement construits dans C par le constructeur que j'ai défini dans S ou si je dois dire que C hérite de S, mais dans ce cas, comment se passe les opérations de construction et destruction ?
Un autre problème est la destruction de S, je voudrais savoir si je peux utiliser la récurrence sur un destructeur, par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| class S
{
S* next;
S()
{
next = 0;
}
~S()
{
if (next != 0) delete(next);
next = 0;
}
}; |
Je sais que je n'ai pas le droit d'utiliser delete comme ça mais je voulais savoir si je pouvais l'écrire dans ce style, mais avec un autre mot peut-être, ou si je dois définir une fonction effacer récurrente que j'appellerai dans mon destructeur.
Merci de me répondre même si vois n'avez pas la solution aux 2 problèmes.