Bonjour,
Je sais que mon titre de sujet n'est pas terrible mais bon, l'important c'est que tout soit bien compris ici
En faite j'ai un problème de transmission de variable entre class. Je veux récupérer une variable appartenant à une class dans une autre.
Jusqu'ici aucun problème, sauf que je ne récupère que la valeur initialisé dans le constructeur, quand ma variable est modifié dans une méthode, je ne récupère pas cette valeur dans le l'autre class !
Du code sera peut-etre plus parlant :
Code :
- /* Fichie .h */
- /* Class PersoG hérite de la class player */
- class C_PersoG : public C_Player
- {
- private:
- public:
- C_PersoG();
- ~C_PersoG();
- void Commandes(Uint8 * keys);
- /* + int arme de la class mère */
- };
- /* Fichier .cpp */
- C_PersoG::C_PersoG()
- {
- arme = 1;
- }
- /* Si on press 2 l'arme vaut 2 */
- void C_PersoG::Commandes(Uint8 * keys)
- {
- if(keys[SDLK_2])
- {
- arme = 2;
- }
- }
- /* --------------------------------------------------------------- */
- /* Fichier .h */
- class C_BoardG : public C_Board
- {
- private:
- C_PersoG PersoG;
- public:
- C_BoardG();
- ~C_BoardG();
- void RecupereArme();
- /* int Arme de la class mère */
- };
- /* Fichier .cpp */
- /* On récupère la valeur de l'arme */
- void C_BoardG::RecupereArme()
- {
- Arme = PersoG.arme;
- }
- /* + Main */
- /* Problème seul la valeur de l'arme initialisé dans le constructeur est renvoyé, quand
- la touche 2 est pressé la valeur 2 n'est pas renvoyé */
|
J'ai aussi essayé avec des returns mais j'ai le même problème.
Merci d'avance.
A++