No_Name
2009-01-26 15:56:21 UTC
Bonjour,
Je travaille sur une application en C++ pour laquelle j'ai plusieurs
niveaux d'héritage :
A = Classe mère
Classe B = Hérite de A
Classe C = Hérite de B
Je voudrais pouvoir facilement transformer des objets de type B en
objets de type C et inversément.
Pour passer de C à B, j'imagine qu'un simple cast suffira, sachant
qu'en faisant cela, je perdrai les données qui font la sécificité de C
(puisque le but est de me retrouver avec un objet de type B).
Par contre, je ne vois pas bien comment je peux passer de B à C ?
J'envisageais de doter la classe C d'une fonction permettant de créer
un objet de type C à partir d'un objet de type B, en initialisant les
données supplémentaires à des valeurs par défaut, mais je ne suis pas
complètement sur de cette solution.
Et les fonctions de création d'un objet de type B en objet de type C
doivent elle effectivement être des méthodes de la classe C ?
Merci de vos conseils et suggestions.
Je travaille sur une application en C++ pour laquelle j'ai plusieurs
niveaux d'héritage :
A = Classe mère
Classe B = Hérite de A
Classe C = Hérite de B
Je voudrais pouvoir facilement transformer des objets de type B en
objets de type C et inversément.
Pour passer de C à B, j'imagine qu'un simple cast suffira, sachant
qu'en faisant cela, je perdrai les données qui font la sécificité de C
(puisque le but est de me retrouver avec un objet de type B).
Par contre, je ne vois pas bien comment je peux passer de B à C ?
J'envisageais de doter la classe C d'une fonction permettant de créer
un objet de type C à partir d'un objet de type B, en initialisant les
données supplémentaires à des valeurs par défaut, mais je ne suis pas
complètement sur de cette solution.
Et les fonctions de création d'un objet de type B en objet de type C
doivent elle effectivement être des méthodes de la classe C ?
Merci de vos conseils et suggestions.