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 :

2 classes se necessitant elles-même


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut 2 classes se necessitant elles-même
    Bonjour,

    Imaginons que je créé les deux classes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class A
    {
     
    public:
    A();
    ~A();
    setLien(B*);
     
    private:
    B *lienVersB;
     
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class B
    {
     
    public:
    B();
    ~B();
    // d'autres méthodes...
     
    private:
    std::vector<A*> uneListeDeA;
     
    };
    Comment faire pour que ça compile ? Si je déclare la classe B avant la classe A, ça ne marchera pas et l'inverse non plus, vu qu'a chaque fois la classe nécessite la connaissance de l'autre !

    Merci d'avance pour vos réponses.

  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 : 61
    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
    Points : 50 367
    Points
    50 367
    Par défaut
    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
     
    #include "classe B.h" // je connais pas le nom du header alors j'invente
     
    class A
    {
     
    public:
    A();
    ~A();
    setLien(B*);
     
    private:
    B *lienVersB;
     
    };
    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
     
    class A;
     
    class B
    {
     
    public:
    B();
    ~B();
    // d'autres méthodes...
     
    private:
    std::vector<A*> uneListeDeA;
     
    };
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup, ça marche impec'.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Data] Joindre une classe à elle-même
    Par dark_geek dans le forum Spring
    Réponses: 1
    Dernier message: 20/04/2010, 14h14
  2. Une classe contenant un pointeur sur elle même
    Par scary dans le forum Débuter
    Réponses: 38
    Dernier message: 02/04/2010, 17h59
  3. Réaliser une classe se référençant elle-même.
    Par tuxmona dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/12/2009, 14h17
  4. Implémenter l'agrégation d'une classe sur elle-même
    Par elvex dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 11/04/2009, 22h28
  5. Réponses: 5
    Dernier message: 28/05/2008, 16h18

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