Votre question

[RESOLU] Connaitre le type d'un objet via une fonction c++

Tags :
  • Dynamic
  • Programmation
Dernière réponse : dans Programmation
1 Mai 2006 19:58:30

Bonjour,
je construit une fonction qui doit créer un objet en fonction de l'extension du fichier utilisateur. Mais je n'arrive pas à récupérer cette info dans le prog principal. J'ai pensé à ça :
  1. int TypeFichier(char* chemin, void* objet)

avec un cast de objet selon l'extension de chemin, mais ça ne fonctionne pas. Quelqu'un a une autre idée ?
Merci !

Autres pages sur : resolu connaitre type objet via fonction

a c 232 L Programmation
2 Mai 2006 08:57:40

Salut,

En coupant ton mot en plusieurs parties, par rapport au point, et en récupérant la derniere partie.
Non ?

(Exemple, tu coupes "toto.jpg" en "toto" et "jpg")
a b L Programmation
2 Mai 2006 13:26:02

J'ai pas trop compris, mais si ta conception est bien fait, tu as une classe de base à tous ces objets (que je nommerai Toto).
Il te suffit de récupérer en paramètre un Toto, puis de tester des downcasting. Pour cela, il y a le mot-clé dynamic_cast.
  1. Toto * pObjet;
  2. TotoImage * pImage;
  3. TotoVideo * pVideo;
  4.  
  5. if (pImage= dynamic_cast<TotoImage *>(pObjet)) {
  6. // pObjet est une image, cast dans pImage
  7. }
  8. else if (pVideo= dynamic_cast<TotoVideo *>(pObjet)) {
  9. // pObjet est une video, cast dans pVideo
  10. }

Le dynamic_cast retourne NULL si ce n'est pas de la bonne classe.
3 Mai 2006 19:44:55

OK, merci beaucoup, ça marche maintenant !!
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS