Probleme : Pointeur et classe dérivée

Signaler
Messages postés
260
Date d'inscription
lundi 27 janvier 2003
Statut
Membre
Dernière intervention
27 août 2008
-
Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
-
Bonjour a tous,
J'ai un petit probleme mais ca me bloque toute ma prog, c'est un peut compliquer :

j'ai une classe TModlessDialogBox qui dérive de la classe CDialog.

Dans une autre classe, je veut utiliser TModlessDialogBox donc je fais
class Truc
{
TModlessDialogBox* Box;
etc...
}

et j'initialise tout ca
Truc::Truc()
{
Box = new TModlessDialogBox(mesParam...)
}

--> Quand je fait comme ci-dessus, ca fonctionne bien, Box pointe bien vers un objet de type TModlessDialogBox.
Mais c'est quand ma classe est comme ceci que ca merde :
class Truc : public Bidule
{
TModlessDialogBox* Box;
etc...
}

et j'initialise tout ca
Truc::Truc() : Bidule(Param)
{
Box = new TModlessDialogBox(mesParam...)
}

La seul chose qui change est que la classe Truc est dérivée de la classe Bidule, et du coup quand j'initialise Box ca ne l'initialise pas, Box pointe vers n'importe quoi !!.

Ca fait dépuis le début de l'a-m que je suis dessus pour trouver une solution mais pas moyen.

Alors merci beaucoup pour vos réponses

Hart

1 réponse

Messages postés
455
Date d'inscription
samedi 26 octobre 2002
Statut
Membre
Dernière intervention
6 avril 2004
8
salut,

si tout ce que tu changes est la dérivation d'une classe, ca doit marcher.
Voici quelques idées pour débugger :
- Est tu bien sûr de passer par ton Constructeur de Truc
- N'initialise tu pas par hasard une variable Box locale au lieu de ton attribut
Le code que tu donnes à l'air correct (sauf ;)