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++/CLI Discussion :

probleme sur les classes


Sujet :

C++/CLI

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Points : 56
    Points
    56
    Par défaut probleme sur les classes
    bonjour,
    voila j'ai un petit soucis, voici mon code :
    personnage.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    #ifndef DEF_PERSONNAGE
    #define DEF_PERSONNAGE
     
    #include <iostream>
     
    class Personnage{
     
        public:
            Personnage();
            void attaquer(Personnage *P1);
            void degat();
            //void switch_arm();
            int getLifePoint();
     
        private:
            int m_lifePoint;
            int m_degatArme;
     
    };
    #endif
    personnage.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include "personnage.h"
    using namespace std;
     
    Personnage::Personnage(){
        int m_lifePoint = 100;
        int m_degatArme = 10;
    }
    void Personnage::attaquer(Personnage *P1){
        (*P1).degat();
    }
    void Personnage::degat(){
        m_lifePoint -= m_degatArme;
    }
    int Personnage::getLifePoint(){
        return m_lifePoint;
    }
     
    int main(int argc, char const *argv[])
    {
        Personnage V;
        Personnage K;
        cout<<"la vie de K est de : "<<K.getLifePoint()<<endl;
        V.attaquer(&K);
        cout<<"la vie de K est de : "<<K.getLifePoint()<<endl;
        return 0;
    }
    mon probleme est que la vie de K est égale a 408000 soit une valeur aléatoire, et je ne comprend pas pourquoi
    pouvez vous m'aider,
    merci d'avance

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Bonjour,
    Dans ton constructeur, tu re-déclares tes variables membres en tant que variables locales, au lieu d'assigner les variables membres.

    Par ailleurs:
    • Tu n'est pas dans la bonne section du forum; ici c'est pour le langage C++/CLI du Framework .Net.
    • Pour l'instant dans ta méthode degat(), tu blesses le personnage avec sa propre arme. La méthode doit prendre la valeur des dégâts en paramètre pour corriger ce problème.
    • La méthode attaquer() ne modifie pas le personnage attaquant (seulement le personnage attaqué, passé en paramètre), elle devrait donc être déclarée comme méthode const.
    • getLifePoint() devrait être une méthode const également.
    • (*P1).degat(); peut être réécrit plus simplement P1->degat();

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 274
    Points : 56
    Points
    56
    Par défaut
    ok merci médinoc, le probleme est résolue.
    Oui il y a pas mal d'incohérence dans mon code mais je voulais avoir une premiere approche des classes.
    merci pour l'astuce de la fleche ->

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

Discussions similaires

  1. probleme(s) sur les classes
    Par Pillow dans le forum Langage
    Réponses: 1
    Dernier message: 11/01/2010, 10h54
  2. Question de base sur les classes
    Par deaven dans le forum C++
    Réponses: 3
    Dernier message: 27/11/2005, 16h20
  3. [C#] Probleme sur les clés primaires composites
    Par stardeus dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/02/2005, 23h28
  4. MS Access et TQuery (probleme sur les dates)
    Par Djob dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/06/2004, 14h57
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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