IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

� l'aide : deux soucis en c++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    5
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par d�faut � l'aide : deux soucis en c++
    Bonjour,

    je d�veloppe une application en MFC (VC6), je suis bloqu�, j'ai a cr�er deux classes : Classe A et classe B o�:

    - A a un tableau d'objets de type B
    - B a un pointeur de type A qui point sur un objet A

    Soit quelque chose comme �a :

    Class A{
    B[50] lesB;
    };
    Class B{
    A* monA;
    };


    �a c'est le premier probl�me, le deuxi�me probl�me est le suivant :

    j'ai plusieurs classes dans mon projet et je d�sire cr�er une classe qui h�rite de "vector<type>" (STL) cette liste devrait �tre accessible partout dans mon projet d'une fa�on unique (je ne veux pas cr�er plusieurs instances). j'ai pens� au singleton.. le probl�me qui se pose c'est comment acc�der a ma liste depuis une classe X et Classe Y et... sachant que je l'ai d�clar� dans une classe Z ?

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Je suppose que pour le 1er probl�me, il faut deviner que tu as un probl�me de r�f�rences crois�es

    Essaye comme cela alors :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class A;
     
    Class B
    {
       A* monA;
    };
     
    Class A
    {
       B[50] lesB;
    };
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    5
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par d�faut
    Oui exact, j'avais oubli� de pr�ciser le probl�me.. l'important maintenant c'est que la ligne que vous avez ajout� au code a "magiquement" r�solu le probl�me! �a marche comme pr�vu maintenant! merci beaucoup.

    reste a voir le deuxi�me probl�me.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    32
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 32
    Par d�faut
    Concernant le deuxi�me probl�me, ne serait-il pas possible de faire en sorte que les classes X et Y aient comme membre un pointeur sur un objet de type Z ?
    Une autre solution pourrait �tre de faire en sorte que X et Y d�rivent de Z. Ainsi, elles peuvent acc�der aux membres de Z, si ceux ci sont d�clar�s protected ou public.

  5. #5
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    H�riter pour h�riter, ce n'est pas du tout une bonne id�e. L'h�ritage public, c'est IS-A, pas "j'ai envie de r�cup�rer ce que tu as et je n'ai pas envie de me fouler".

  6. #6
    R�dacteur

    Avatar de Matthieu Brucher
    Profil pro
    D�veloppeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Pyr�n�es Atlantiques (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par d�faut
    Citation Envoy� par lampexp Voir le message
    j'ai plusieurs classes dans mon projet et je d�sire cr�er une classe qui h�rite de "vector<type>" (STL) cette liste devrait �tre accessible partout dans mon projet d'une fa�on unique (je ne veux pas cr�er plusieurs instances). j'ai pens� au singleton.. le probl�me qui se pose c'est comment acc�der a ma liste depuis une classe X et Classe Y et... sachant que je l'ai d�clar� dans une classe Z ?
    Revois ton design pour avoir une solution simple.

    Le premier probl�me avait sa solution dans la FAQ.

  7. #7
    Expert �minent
    Homme Profil pro
    Architecte technique retrait�
    Inscrit en
    Juin 2008
    Messages
    21 754
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : Architecte technique retrait�
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par d�faut
    Bonsoir,

    Citation Envoy� par lampexp Voir le message

    j'ai plusieurs classes dans mon projet et je d�sire cr�er une classe qui h�rite de "vector<type>" (STL) cette liste devrait �tre accessible partout dans mon projet d'une fa�on unique (je ne veux pas cr�er plusieurs instances). j'ai pens� au singleton.. le probl�me qui se pose c'est comment acc�der a ma liste depuis une classe X et Classe Y et... sachant que je l'ai d�clar� dans une classe Z ?
    Je ne vois pas comment Z pourrait �tre autre chose qu'un singleton.
    Pour acc�der � Z depuis un object X, il devrait suffire de faire getInstance pour r�cup�rer l'adresse du singleton.

    Enfin, je n'ai peut �tre pas tout compris.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Invit�
    Invit�(e)
    Par d�faut
    lampexp,

    Evite de d�river de std::vector<>, ou de n'importe quel autre conteneur de la biblioth�que standard. Ces classes ne sont pas pr�vues pour �tre des classes d�riv�es. En fait, dans ma distribution MingW, le destructeur de std::vector n'est m�me pas virtuel, ce qui est un signe clair qu'il ne faut pas en d�river.

    Si tu veux cr�er une classe qui se comporte comme un vecteur mais avec des services en plus, cr�e une classe avec un membre de type std::vector<Type> et impl�mente les m�mes m�thodes, en passant le relais � celles de vector:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class MonVector
    {
    private:
      std::vector<Type> m_vecteur;
     
    public:
      typedef std::vector<Type> value_type;
      typedef std::vector<Type>::const_iterator const_iterator;
      typedef std::vector<Type>::iterator iterator;
     
      void push_back(const value_type& valeur)
      {
        m_vecteur.push_back(valeur);
      }
     
      // etc.
    };

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2008
    Messages
    5
    D�tails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Par d�faut
    j'ai trouv� une solution pour le deuxi�me probleme, j'ai cr�er une classe "Z" avec des donn�es membres statiques priv�s et j'ai d�clar� les classes X et Y comme friend dans Z.
    j'acc�de aux donn�es de Z comme suit Z::vecteur.push_back...
    5hdumatin, j'ai �viter d'h�riter de vector, c'�tait pas une bonne id�e, merci pour la remarque.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [AIDE]Fusion de deux RichEdit
    Par echap2000 dans le forum C++Builder
    R�ponses: 3
    Dernier message: 29/08/2007, 18h36
  2. Aide pour une requete, deux table, un champ commun.
    Par Space Cowboy dans le forum Requ�tes
    R�ponses: 1
    Dernier message: 15/03/2007, 10h59
  3. [AIDE]configurer mes deux disque dur?ecran bleu?
    Par masta64 dans le forum Composants
    R�ponses: 4
    Dernier message: 30/12/2006, 20h43
  4. Besoin d'aide pour joindre deux requetes
    Par ganga dans le forum Langage SQL
    R�ponses: 5
    Dernier message: 05/06/2006, 15h35
  5. R�ponses: 2
    Dernier message: 03/10/2002, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo