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

Boost C++ Discussion :

obtenir shared_ptr<A> avec un shared_ptr<B> et B dérive de A


Sujet :

Boost C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 27
    Par défaut obtenir shared_ptr<A> avec un shared_ptr<B> et B dérive de A
    bonjour,

    j'ai une classe B qui dérive de A (class B : public A).
    J'ai un objet de type B stocké dans un shared_ptr<B> et il faut que je le passe sous forme de shared_ptr<A>.

    B dérivant de A, il ne devrait pas y avoir de problème. On peut d'ailleur stocker un objet B dans un shared_ptr<A>.

    Cependant, passer en paramètre un objet de type shared_pr<B> à la place d'un shared_ptr<A> ne marche pas.
    J'ai aussi essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    shared_ptr<B> objetB ( new B() );
    shared_ptr<A> ObjetA = ObjetB;
    mais ça ne marche pas non plus à la compilation.

    C'est vraiment embettant, j'ai conçu mon archi et ce problème vient tout me mettre par terre.

    Est ce quelqu'un a une idée de solution?
    Merci!

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    Use boost::static_pointer_cast:

    boost::shared_ptr<Base> b(new Base());
    boost::shared_ptr<Derived> d = boost::static_pointer_cast<Derived, Base>(b);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 27
    Par défaut
    Merci,
    ça marche nickel!

Discussions similaires

  1. [AC-2007] Obtenir le contraire du résultat avec "Inner Join"
    Par Tipstitou dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/12/2009, 12h11
  2. Obtenir la progression de chargement avec WebBrowser
    Par Valter dans le forum Framework .NET
    Réponses: 6
    Dernier message: 12/12/2008, 13h13
  3. Obtenir numéro d'un classement avec ORDER BY
    Par jersey_girl dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/08/2006, 23h49
  4. PBM : Obtenir le chemin du bureau avec adresse ip
    Par fab22montpellier dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2005, 14h39
  5. Comment obtenir l'heure du serveur avec flash ?
    Par Michaël dans le forum Flash
    Réponses: 9
    Dernier message: 23/12/2003, 17h50

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