Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1481 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Perte initialisation variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Perte initialisation variable

n°952697
smag
Posté le 13-01-2005 à 22:05:03  profilanswer
 

Bonjour, alors voici mon pb :
 
pDecrypter = new Computer(duplicates)
un nouvel objet de type Computer est créé
Computer::Computer(bool dupes):
Decrypter(dupes), total(0), mySmartString(0)
 
{
}
cela appelle constr Decrypter::Decrypter(bool dupes):
round(0),
duplicates (dupes)
{
}
 
et mySmartString est initialisé à 0
 
Ensuite il ya pDecrypter->Play();
A ce moment là pdecrypter affiche seulement les variables protected(de la classe DECRYPTER)
cependant il va bien dans Computer::Play
if (!mySmartString)
      mySmartString = new SmartString(duplicates);
et là je me rends compte avec stupéfaction que mySmartString est rempli avec n'importe quoi!!! et ça me plante tout!! segmentation defaultPouvez vous m'aider et me dire ce qui s'est passé.
La variable total contient également n'importe quoi
 
D'autre part comment peut on initialiser un pointeur à 0 sans avoir appelé le constructeur?
 
 
Voici le code
la classe game.hpp
 

Code :
  1. #ifndef GAME_HPP
  2. #define GAME_HPP
  3. #include "defvals.hpp"
  4. #include "Gues1205.hpp"
  5. #include "SmartString1201.hpp"
  6. class Guess;
  7. class Decrypter;
  8. class Game
  9. {
  10. public:
  11.     Game();
  12.     ~Game()     {}
  13.      void Play();
  14.      static int howManyLetters;
  15.      static int howManyPositions;
  16. private:
  17.      void DisplayTime(int secs);
  18.      bool VerifyComputerChoices();
  19.      bool duplicates;
  20.      Decrypter *  pDecrypter;
  21. };
  22. #endif


 
la classe Decrypter.hpp

Code :
  1. #ifndef DECRYP_HPP
  2. #define DECRYP_HPP
  3. #include "defvals.hpp"
  4. #include "Gues1205.hpp"
  5. class Decrypter
  6. {
  7. public:
  8.    Decrypter(bool duplicates);
  9.    virtual ~Decrypter();
  10.   void Display( vector<char> charVec) const;
  11.   virtual bool HandleFlag(char flag) = 0 ;
  12.   virtual void Play() = 0 ;
  13.   virtual void ShowHelp() = 0;
  14.   void ShowHistory();
  15. protected:
  16.    bool duplicates;
  17.    vector<Guess> history;
  18.    int round;
  19. };
  20. #endif


la classe computer.hpp
 

Code :
  1. #ifndef COMPUTER_HPP
  2. #define COMPUTER_HPP
  3. #include "decrypter1101.hpp"
  4. class SmartString;
  5. class Computer : public Decrypter
  6. {
  7. public:
  8.    Computer (bool duplicates);
  9.    virtual ~Computer();
  10.    bool HandleFlag(char flag);
  11.    void Play() ;
  12. private:
  13.    void GenerateAGuess();
  14.    bool IsConsistent(vector<char> guess);
  15.    Guess OfferGuess();
  16.    void ShowHelp();
  17.    SmartString * mySmartString;
  18.    int total;
  19. };
  20. #endif

mood
Publicité
Posté le 13-01-2005 à 22:05:03  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Perte initialisation variable

 

Sujets relatifs
Une variable de session qui change toute seule ! Je m'arrache les chvxInitialisation recepteur infrarouge ?
comment stocker les résultat dans une variable[VAB - XL] - Nom de Userform Variable
probleme de valeur de variablePassage de variable depuis une boucle ???
variable qui bugGraphique couplé avec variable $_POST
Impossible de mettre un identifiant de fichier dans une variable !Afficher la valeur d'une variable
Plus de sujets relatifs à : Perte initialisation variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR