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


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Problème de transtypage
    Bonjour,

    Alors voila quelque chose que je connais assez bien en C# mais que j'ai un peu de mal à appréhender en C++, c'est le transtypage.

    Bon pour faire simple, j'ai une classe Mere et ses classes fille Fille1 et Fille2 (classe Fille1 : public Mere, et class Fille2 : public Mere), j'aurais voulus qu'un tableau de type Mere puisse accueillir en son sein des objets de type Fille1 ou Fille2, j'ai donc ecrit dans mon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         Fille1 * mafille1 = (Fille1) malloc (sizeof(Fille1));
         Fille2 * mafille2 = (Fille2) malloc (sizeof(Fille2));
     
        m_tabMere[0] = dynamic_cast<Mere *> (maFille1);
        m_tabMere[1] = dynamic_cast<Mere *> (maFille2);
    Or j'obtiens l'erreur suivante :

    error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class Mere *' (or there is no acceptable conversion)

    ainsi donc comme pourrais-je de façon simple insérer dans un tableau de type Mere différents objets de différentes classes Fille1 et Fille2 ? j'ai cherché, je ne trouve pas, je pensais qu'il suffisait que le type fille hérite de la mere, mais non apparemment.

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    Déjà, en C++ il ne faut pas faire malloc mais new


  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    effectivement, tout à l'heure j'avais eu une petite erreur. Et c'est honteux, mais j'ai finit par trouver la solution : un pointeur ! le Java est aussi passé par là, j'avais oublié une étoile à la déclaration de mon tableau mère, vous ne risquiez pas de trouver !

    Mere ** m_tabMere;
    et non m_tabMere comme j'avais écrit.

    Bref, résolu, c'est fini, merci =)

  4. #4
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    et on utilise std::vector ...

Discussions similaires

  1. Problème de transtypage
    Par simoryl dans le forum C++
    Réponses: 6
    Dernier message: 05/06/2008, 02h33
  2. problème de transtypage (enfin je crois)
    Par troussepoil dans le forum C++
    Réponses: 5
    Dernier message: 02/03/2007, 18h32
  3. Problème de transtypage (ou de pointeur)
    Par seeme dans le forum C++
    Réponses: 3
    Dernier message: 20/12/2006, 10h36
  4. problème de transtypage
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 30/08/2006, 11h59
  5. Problème de transtypage
    Par SunSyS dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 31/07/2006, 19h03

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