EDIT : je précise que j'utilise VS2005 Express
Bonjour,
J'ai une architecture avec pas mal de classes.
En gros, une classe mère et plusieurs classes filles.
Je sais que le downcasting, c'est mal !
Mais bon, là j'ai fouillé dans tous les sens :
- essayé avec des templates : ça devient beaucoup trop lourdingue comme code
- essayé avec des fonctions dont le type de retour est covariant, mais ça ne resoud pas tous mes problèmes.
En fait, je voudrais surtout savoir quel type de cast utiliser sachant que :
- je sais que le cast est possible (je cast un pointeur du type de la classe mère qui pointe vers un objet de la classe fille vers un pointeur de CETTE classe fille)
- les performances sont importantes
Si j'ai tout bien compris, dans mon cas, je peux utiliser un static_cast
Mais que se passe-t-il au niveau du compilateur ?
Il y a une quelconque verification ?
En fait je voudrais eviter toute verification, vu que je sais que la conversion est possible, que mon objet existe, etc....
Pour donner une idée, c'est ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class Mere { ..... } class Fille : public Mere { .... } Mere* pointeurMere = new Fille(); Fille* pointeurFille = quelcastutiliser<Fille*> pointeurMere;
Partager