smagf
Messages postés4Date d'inscriptionsamedi 27 novembre 2004StatutMembreDernière intervention24 janvier 2005
-
24 janv. 2005 à 20:42
smagf
Messages postés4Date d'inscriptionsamedi 27 novembre 2004StatutMembreDernière intervention24 janvier 2005
-
24 janv. 2005 à 20:44
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)
et les variables membres mySmartString et total sont initialisées à 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:lay
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
En fait juste avant la ligne pDecrypter->Play (qui est dans game.cpp), pDecrypter est considéré alors comme un objet de type DECRYPTER avec la definition de DECRYPTER ( c normal qu'il ne soit pas considéré comme computer?)et quand je me debranche dans COMPUTER :: PLAY, alors le pointeur this est considéré comme un objet COMPUTER mais là "smartstring" ET "total" sont initialisés avec n'importe quoi.
J'ai donc appremment un pb de relation entre les classes Computer et Decrypter mais je ne vois pas c equi ne marche pas
Les classes human et computer sont des classes dérivées de Decrypter.
Voici le code en totalité:
1a) la classe Game
[cpp]
#ifndef GAME_HPP
#define GAME_HPP
#include "defvals.hpp"
#include "Gues1205.hpp"
#include "SmartString1201.hpp"
class Guess;
class Decrypter;
class Game
{
public:
Game();
~Game() {}
void Play();
static int howManyLetters;
static int howManyPositions;
/cpp 1b) l'implémentation de la classe Game
[cpp]
#include "game1103.hpp"
#include "defvals.hpp"
#include "decrypter1101.hpp"
#include "human1105.hpp"
#include "computer1109.hpp"
#include "SmartString1201.hpp"
smagf
Messages postés4Date d'inscriptionsamedi 27 novembre 2004StatutMembreDernière intervention24 janvier 2005 24 janv. 2005 à 20:44
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)
et les variables membres mySmartString et total sont initialisées à 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:lay
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
En fait juste avant la ligne pDecrypter->Play (qui est dans game.cpp), pDecrypter est considéré alors comme un objet de type DECRYPTER avec la definition de DECRYPTER ( c normal qu'il ne soit pas considéré comme computer?)et quand je me debranche dans COMPUTER :: PLAY, alors le pointeur this est considéré comme un objet COMPUTER mais là "smartstring" ET "total" sont initialisés avec n'importe quoi.
J'ai donc appremment un pb de relation entre les classes Computer et Decrypter mais je ne vois pas c equi ne marche pas
Les classes human et computer sont des classes dérivées de Decrypter.