Conception d'une classe [DEBUTANT ] [Résolu]

Signaler
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020
-
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020
-
Bonjour,

Un problème surement de conception de classe me fait perdre la tete, je vais m'expliquer le plus simple possible:

class A{

               int m_nStatut;
               ....
               ....
               ...
            };

class A; // Aggrégation par pointeur sur ma classe A
class B {

               int Statut;
               A* m_pA;
               ....
               ...
            };

IMPLEMENTATION:

class A{

         A( )
         {

          }
         OnButtonRadio1
         {
               m_nStatut=1;
         }
         OnButtonValider()
         {
               B objetB; // Je créer un objet B, donc dans le constrcuteur de B je devrai recuperer la valeur de m_nStatut et la stocker dans la donnée membre Statut, mais comme je créer mon pointeur sur la classe A dans le constructeur de B, les variables sont "écrasés"
         }

class B {

B( )
{
         m_pA=new A;
         Statut=m_pA->m_nStatut; // ET voila le PROBLEME, il y a une récurence dans le constructeur, et ma variable que je récupere vaut -6767676;
}
~B( )
{   
      delete m_pA;
}

Je créer un objet B, donc dans le constrcuteur de B je devrai recuperer la valeur de m_nStatut et la stocker dans la donnée membre Statut, mais comme je créer mon pointeur sur la classe A dans le constructeur de B, les variables sont "écrasés"

Je cherche ainsi une solution simple a mon problème et sans trop de bidouille car je doit respecter les regles du codage !!

Un gros merci a tous !!!

4 réponses

Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
salut

B( A *a)
{
         m_pA=a;
         Statut=m_pA->m_nStatut;
}

et dans ta classe A:
    B objetB(this);
pour passer l'objet en paramètre au constructeur
Messages postés
149
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
17 mai 2007
1
Salut,

Si tu veux que B connaisse la bonne instance de la classe A dans le constructeur de B tu dois passer A en parametre
 et non pas creer un nouvel objet A

Une autruche ne se cuit pas aux petits lardons.
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020

Je te remercie de ta réponse, as tu un exemple s'il te plait pour mes constructeurs et pour la création de l'objet ?
Merci énormément !
Messages postés
192
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
19 octobre 2020

Merci Infiniement, ca fonctionne impec !!!