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 :

probleme de transtypage


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Par défaut
    Bonjour

    je commence le développement d'un jeu d'échec(variante alice) en mode console pour apprendre le c++
    je rencontre des difficultés avec le transtypage.
    j'ai des classes (roi, reine...) qui hérite de piece, et quand je veux initialiser les joueurs
    avec les pièces a leurs position initiale, il me retourne le type d'une piece^^ alors que pourtant il utilise bien le bon constructeur
    Je sais pas si je suis clair

    voici mon source http://www.gigaup.fr/?g=PF636ZDAJJ

    le problème c'est que ça implique pas mal de source, du moins quand je test de faire un transtypage me met des erreurs un peut partout ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void
    Joueur::init( bool white )
    {
     
            m_pieces[0] =  Roi(5, (white ? 1 : 8),(white ? true : false));  	
            m_pieces[1] =  Reine(4, (white ? 1 : 8),(white ? true : false));
             ......... 
    }
    lorsque je veux utiliser le transtypage comme dans les cours de c++ il me dit que la source n'est pas un pointeur
    constructeur de roi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Roi::Roi(int x, int y, bool white)
    {	
      m_x = x;
      m_y = y;
      m_white = white;
      cout << "Constructeur Roi" << endl;
    }
    merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    Je ne sais pas ce que tu entends par transtypage, mais utiliser explicitement les conversion classe de base <-> classe dérivée est souvent une erreur de conception.
    Pour bénéficier du polymorphisme d'inclusion, tu dois manipuler tes objets par référence ou par pointeur. Cf ici et ici.
    Il faudrait que tu montres un peu plus précisément le code qui te pose problème.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Par défaut
    merci
    j'ai trouvé la solution hier, j'ai utilisé les pointeurs, j'avais deja testé avant le probleme était que je n'avait pas déclaré mes méthodes de type en virtual

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système/Fichiers/API] Probleme de transtypage lors de l'utilisation de WMI
    Par blondelle dans le forum C++Builder
    Réponses: 16
    Dernier message: 30/07/2012, 18h45
  2. probleme de transtypage
    Par kanebody dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 04/09/2009, 01h38
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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