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 :

[Headers] Classes inter-dependantes


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Par défaut [Headers] Classes inter-dependantes
    Bonjour.

    J'ai un petit probleme de classes dependants les unes des autres.
    C'est generique, ca m'est arrive des tonnes de fois. Et a d'autres personnes. Du coup je vais prendre un cas general : c'est surement arrive a quelqu'un ici qui a deja reussi a passer ce cap. Donc je tente ma chance.

    Jusque la, c'est une situation que j'ai rencontre tres souvent, et si je sais comment m'en occuper, il y a aussi des cas tres particuliers (ca m'arrive toujours au moins une fois par projet, et je finis toujours par laisser tomber et remplacer le tout par un truc degueulasse : generalement, regrouper les classes dans le meme header fonctionne...).

    Voici comment je declare mes headers :

    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
     
    #ifndef MACLASSE_HPP
    # define MACLASSE_HPP
    # include "autreClasse.hpp"
     
      class			MaClasse
      {
        private:
          autreClasse* var;
      };
     
    #else
     
    class MaClasse;
     
    #endif
    L'autre classe est naturellement declaree de la meme facon.
    C'est comme ca que TOUT mes headers sont rediges, sans exception.

    Quand il n'y a pas trop d'inclusions imbriques, ca passe.
    Pourtant, quand j'ai besoin de rajouter d'autres inclusions imbriques, parfois, je tombe sur cette erreur mystique : le compilateur m'annonce dans autreClasse.hpp que MaClasse n'a pas ete declare.
    Il me lance une jolie insulte du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error C2079: 'autreClasse::var' uses undefined class 'MaClasse'
    J'ai beau aussi faire ma declaration de cette facon la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class MaClass;
    class autreClasse
    {
      MaClass* var;
    };
    Le probleme reste le meme.

    Aidez-nous !

  2. #2
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par défaut
    Bonsoir,

    La faq donne la réponse je crois :

    http://cpp.developpez.com/faq/cpp/?p...erence_croisee

Discussions similaires

  1. Proprietes inter dependantes dans un usercontrol
    Par OhMonBato dans le forum Windows Forms
    Réponses: 8
    Dernier message: 11/06/2008, 18h00
  2. Héritage de classe : header doesn't match blabla.
    Par MrGecko dans le forum Delphi
    Réponses: 6
    Dernier message: 31/03/2007, 20h20
  3. Réponses: 8
    Dernier message: 23/11/2006, 11h30
  4. fonctions inter- classes
    Par THE_VIP dans le forum Général Python
    Réponses: 5
    Dernier message: 12/08/2006, 00h51
  5. Réponses: 9
    Dernier message: 25/09/2005, 16h33

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