begin process at 2010 03 18 03:58:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

Conception d'une classe [DEBUTANT ]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Conception d'une classe [DEBUTANT ]

lundi 14 mai 2007 à 19:06:57 | Conception d'une classe [DEBUTANT ]

Nixeus

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 !!!

lundi 14 mai 2007 à 19:19:53 | Re : Conception d'une classe [DEBUTANT ]

emmatopiak

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.
lundi 14 mai 2007 à 19:24:47 | Re : Conception d'une classe [DEBUTANT ]

Nixeus

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 !

lundi 14 mai 2007 à 20:39:06 | Re : Conception d'une classe [DEBUTANT ]

acx01b

Réponse acceptée !
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
lundi 14 mai 2007 à 20:45:15 | Re : Conception d'une classe [DEBUTANT ]

Nixeus

Merci Infiniement, ca fonctionne impec !!!


Cette discussion est classée dans : pa, class, classe, statut, nstatut


Répondre à ce message

Sujets en rapport avec ce message

petit pb de classe~~ [ par lerilcy ] Bijour a tous... J'ai declare une classe "CBloc" comme il faut (enfin je pense)class CBloc{...}et dans le code des procedures (bloc.cpp): le compilate classe et agregation... [ par Clonk ] bonjour,j'utilise plusieurs classes ayant des agregations (sous Borland).Disons en gros que si on a :class personne{private:int age;public:void affich CwinThread urgent [ par langedechu ] Bonjour,J ai un prob avce la classe CWinThread (je vais cracker si je n arrive pas le résoudre).Bon je m'explique : j ai creer une la classe : class c probleme sur les class [ par JRB ] g trouve un cour sur les applications reseaux mais il manque des explications si quelqu'un pourrait me les apporrtais sa serais super je cherche a ajo accéder à une variable globale type "class" ? [ par ilimo ] bonjour,comment accéder à une variable globale type "class" dans un autre fichier ?voici exemple plus détaillé : 1- //fichier CC.h-------------------- Pb de Multi héritage [ par bach58 ] Je veux définir une classe Z qui hérite d'une autre classe A par deux voies différentes :class A{ int a; ....}class X:A ..{..}class Y:A... {...} Classe C++ et pointeurs [ par cybermax62 ] je veux utiliser des pointeurs sur des classes. j'écris mon code comme celui-ci :typedef class widget * pwidget;class widget{public:; char * name_s; Ordre de compilation des classes [ par 9sber ] Comment s'assurer qu'une classe est compilée avant une autre?Mon, pb est le suivant.Je suis sous VC++. J'ai une classe "R" qui hérite d'une classe "A" Class derivée , Template ( POURQUOI ES-CE CI DIFFICILE) ??? [ par nawakator ] J'ai déjà posé cette question, mais je la repose car elle est essentiel pour mon projet!J'ai créer un template permettant de géré une liste chainé de template et héritage [ par cybermax62 ] j'ai un problème de fond dans ma conception. Je voudrais utiliser une classe template de base Singleton avec des classes héritées (plusieurs fois). Le


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales