IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Transtypage dynamique : pré-requis


Sujet :

C++

  1. #21
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    D'acc.

    Donc je suppose que l'utilisation de bibliothèque dynamique chamboule les règles de Transtypage?
    (c'est ma première bibliothèque si on omet l'utilisation de Java dans mon apprentissage de la programmation qui n'a pas été si poussé que ça au départ).

  2. #22
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Pour le transtypage dynamique, c'est possible (mais je n'en ai aucune idée). Pour être sûr, je conseillerais de faire les dynamic_cast<> pour des objets créés par une bibliothèque uniquement dans la bibliothèque en question.

    Ou mieux, ne jamais faire de dynamic_cast<> : On peut souvent s'en passer.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #23
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Sous le forum Qt d'ici même, on m'a conseillé de toute façon de faire un dynamic_cast, ce que je pense avoir réussit puisque je n'ai pas de message d'erreur, bien que je ne puisse pas encore tester...

    Donc tout reste à voir!
    donc le transtypage dynamique diffère du transtypage type? Puis-je savoir en quoi? et pourquoi?

  4. #24
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Principalement parce que tu as une vérification de ce qui est fait...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /* soit obj déclaré comme un pointeur sur un objet de type Mere
     * mais pointant sur un objet quelconque de l'arbre d'héritage
     */
    Fille1* trans=dynamic_cast<Fille1*>(obj); //trans==NULL si transtypage échoue
    Fille1 transref=dynamic_cast<Fille&)(*obj); //lance std::bad_cast si transtypage échoue
    Fille2* trans2=static_cast<Fille2*>(obj);//aucune vérification... bobo en perspective
    Fille2 trans2ref=static_cast<Fille2&>(*obj);//aucune vérification... bobo en 
                                                //perspective
    et, bien sur, je ne parle pas du transtypage "C style" qui laisse faire réellement tout ce qu'on veut
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #25
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 392
    Par défaut
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fille1 * pTrans  = dynamic_cast<Fille1*>(pObj);  //trans==NULL si transtypage échoue
    Fille1 &transref = dynamic_cast<Fille1&>(*pObj); //lance std::bad_cast si transtypage échoue
    Fille2 * pTrans2  = static_cast<Fille2*>(pObj);  //aucune vérification... bobo en perspective
    Fille2 &trans2ref = static_cast<Fille2&>(*pObj); //aucune vérification... bobo en perspective
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #26
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 239
    Par défaut
    Ok, merci beaucoup pour vos informations!

    ça me fait avancer dans mon apprentissage de la POO

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Utiliser un transtypage "dynamique"
    Par JPLSOFT dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/05/2014, 08h49
  2. Un transtypage dynamique
    Par Asaheim dans le forum C#
    Réponses: 8
    Dernier message: 25/04/2013, 00h03
  3. Transtypage et objet dynamique pour l'interface
    Par TokTokTok dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 04/03/2009, 19h13
  4. Réponses: 3
    Dernier message: 28/01/2009, 14h02
  5. [Delphi 7]Transtypage et appels dynamique de methodes
    Par Jabbal'H dans le forum Delphi
    Réponses: 3
    Dernier message: 09/11/2006, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo