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 :

R�f�reces crois�es : pb d'oeuf et de poule


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    48
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 48
    Par d�faut R�f�reces crois�es : pb d'oeuf et de poule
    Bonjour, dans quelle direction chercher pour :
    creer 2 classe A et B, ecrites dans 2 fichiers differents, avec des includes sachant que A a besoin de connaitre B et B a besoin de connaitre A.

    monA est initialement cr�e avec des int, char... (clasique)
    #include "A.h"
    A monA(1,2,3);

    monB � partir de l'adresse de monA
    #include "B.h"
    B monB(& monA);

    monAbis � partir de l'adresse de monB
    A monAbis(& monB); -> l� est le probleme puisque il faudrait que "B.h" soit deja inclu
    c'est l'histoire de l'oeuf et de la poule

    je me rapelle vagement qu'en cours on avait le droit de faire
    void * monA;
    je fais fausse route ?

  2. #2
    Expert confirm�
    Avatar de Luc Hermitte
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2003
    Messages
    5 296
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 5 296
    Par d�faut
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne r�ponds � aucune question technique par le biais de ce m�dia. Et de toutes fa�ons, ma BAL sur dvpz est pleine...

  3. #3
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Il y a deux probl�mes dans ce que tu pose comme question...

    Le premier a trait � la d�pendance crois�e (a qui a besoin de b qui a lui meme besoin de a), et, pour cela, la FAQ r�pond correctement

    Le deuxi�me est qu'il me semble surprenant qu'un A, qui doit �tre construit avec trois entier doive, aussi/� la place contenir un pointeur sur B et qu'un B doive, lui, contenir un pointeur sur A...

    Tout cela me ferait penser au pattern composite (d�sol�, le lien est en anglais ) bien qu'il y ait quelques incoh�rences dans tes explication...
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  4. #4
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    Qu'est ce qui te choque ? Il n'y a, � priori, aucun rapport entre le type des donn�es dont a besoin le constructeur d'un objet et ce qu'il est suppos� faire ensuite.

  5. #5
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Ce qui me choque le plus, en dehors de toute famille, c'est de vouloir mettre un B qui contient un A dans... un A...

    Si tu entre dans le patern composite (entre autre), cela n'a rien de trop choquant (quoi que...), mais tu pars sur deux classes qui ont la meme origine, or aucune mention d'une origine commune n'est faite dans les explications...
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  6. #6
    Membre �prouv�
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    D�tails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par d�faut
    J'ai peut-�tre mal lu ton post :
    Le deuxi�me est qu'il me semble surprenant qu'un A, qui doit �tre construit avec trois entier doive, aussi/� la place contenir un pointeur sur B et qu'un B doive, lui, contenir un pointeur sur A...
    Je ne vois nul part o� l'auteur du message d'origine parle de pointeur membre.
    Lorsqu'il parlait de void* cela devait �tre comme argument du constructeur, non ?

  7. #7
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Par d�faut
    je susi pas un expert mais il me semble que tu peux predeclarer l'existence d'une classe tierce dans le fichier .h de ta classe courante. Tu n'as pas besoin de faire le #include. tu le feras dans le cpp.

    Exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    class A;
     
    class B{
    ...
    void ma fonction(A &monA)
    };
    qqchose comme �a...

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    48
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 48

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

Discussions similaires

  1. L'oeuf et la poule: mvn release:prepare et pom parent.
    Par grunt2000 dans le forum Maven
    R�ponses: 5
    Dernier message: 26/10/2012, 14h24
  2. L'oeuf ou la poule ?
    Par Wookai dans le forum Hibernate
    R�ponses: 9
    Dernier message: 21/06/2007, 13h08
  3. Probl�me de la poule avant l'oeuf ?
    Par norwy dans le forum C++
    R�ponses: 10
    Dernier message: 10/11/2005, 20h52
  4. [CR .NET] Table crois�e: compl�ter avec lignes vides
    Par kartben dans le forum SAP Crystal Reports
    R�ponses: 3
    Dernier message: 29/06/2004, 10h38
  5. Requ�te crois�e et affichage
    Par BakaOnigiri dans le forum SQL
    R�ponses: 2
    Dernier message: 31/10/2002, 11h28

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