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 :

problème de transtypage (enfin je crois)


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut problème de transtypage (enfin je crois)
    Bonjour,
    Je commence le C++ et je me retrouve face à un problème que je n'arrive pas à résoudre.
    Voila, alors j'ai une classe A et deux classes B et C qui en héritent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class A{
      ...
    }
     
    class B : A {
      ...
    }
     
    class C : A {
      ...
    }
    Dans le main(), j'utilise un tableau de A dans lequel je mets des B et des C.
    Mon problème se pose ici. En effet, je n'arrive pas à récupérer mes B, je peux seulement avoir des A.
    Moi je veux mes B ...
    merci d'avance.


    balise [code] rajoutée par r0d. Merci d'y penser dorénavant.

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Pour avoir du polymorphisme d'inclusion, il faut utiliser des pointeurs ou des références. Si tu utilises des valeurs comme ton explication le laisse penser, ce n'est pas possible.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    Ah ...
    nan parce que moi je viens du java et je n'ai pas trop l'habitude des pointeurs.
    Pour l'instant, je créer des B et des C et je les mets dans le tableau de A.
    Si je comprend ce que tu me dis, il faut que je mette des B* (B&) et des C* (C&) dans mon tableau de A?
    Pourrais-je avoir un petit exemple si ce n'est pas trop demandé... please?
    Il vaut mieux des pointeurs ou des références, quelle est la différence?

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par troussepoil
    nan parce que moi je viens du java et je n'ai pas trop l'habitude des pointeurs.
    Pourtant, tu n'as manipule quasiment que ca (les references de Java sont plus proches des pointeurs de C++ que des references de C++).

    Pour l'instant, je créer des B et des C et je les mets dans le tableau de A.
    Si je comprend ce que tu me dis, il faut que je mette des B* (B&) et des C* (C&) dans mon tableau de A?
    Il te faut aussi faire un tableau de A*. Et plutot qu'un tableau, utilise un std::vector.

    Il vaut mieux des pointeurs ou des références, quelle est la différence?
    Il y a des choses qu'on ne peut faire qu'avec des pointeurs (y stocker NULL par exemple), d'autres qu'on ne peut faire qu'avec des references (ou des valeurs, surcharger certains operateurs par exemple). Quand on ne se trouve pas dans un de ces cas, le choix resulte plutot du style et des conventions que de considerations techniques. Dans les archives (du site et de fr.comp.lang.c++ sur groups.google), tu dois pouvoir trouver des discussions la dessus (je sais que j'ai deja explique ce que je fais, je crois me souvenir des contributions de James Kanze sur fclc++ et de Loic et Luc).

  5. #5
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Déclare ton héritage public (héritage de type), sinon ça ne fonctionnera pas !

  6. #6
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    merci pour votre aide, je vais continuer avec ça...
    à bientôt pour de nouvelles questions ...

Discussions similaires

  1. problème d'interop (enfin, je crois)
    Par JennBBd dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/09/2007, 17h12
  2. Problème d'optimisation combinatoire. Enfin je crois
    Par Arpivu dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 30/07/2007, 11h01
  3. Problème de boucle enfin je crois !
    Par Selecteur dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2007, 21h51
  4. [MySQL] Problème avec UPDATE enfin, je crois
    Par dutbas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/05/2007, 18h53
  5. Réponses: 3
    Dernier message: 23/05/2007, 16h07

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