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 :

conflit d'inclusions et Héritage de classe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut conflit d'inclusions et Héritage de classe
    Voila le problème :
    On va dire que j'ai 4 fichiers headers :
    - Window.h
    - Menu.h
    - Item.h
    - ClickableItem.h
    Chacun d'eux commence par un #ifndef .... #endif pour protéger de la multi-inclusion de fichiers.

    Chaque en-tete définit une classe du meme nom que le fichier.
    De plus, la classe ClickableItem est une sous classe de Item.
    Et enfin,
    - Window.h inclut Menu.h
    - Menu.h inclut Window.h, Item.h et ClickableItem.h
    - Item.h inclut Menu.h
    - ClickableItem.h inclut Item.h

    Le problème est que pour certains de ces fichiers, j'ai du préciser au compilateur quelle classe il doit utiliser. Par exemple dans Window.h, j'ai du ecrire juste apres les include "class Window;". Mais comme ClickableItem hérite de Item, ecrire "class Item;" ne suffit pas, le compilo me sort qu'il a besoin que la classe de base soit défini. D'une part je le comprend, d'autre part je vois pas pk il ne trouve pas la définition de la classe de base malgrè le 'include "Item.h"'.

    Pour les rares élus qui ont tout compris à mon problème, je vous remercie d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    PS : Le premier qui me donne une bonne réponse aura droit à une sucette

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    petite précision:
    Comme je m'en doutais, lorsque je copie-colle le contenu de ClickableItem.h à la fin de Item.h, tout marche correctement. Mais je ne trouve pas ca beau. J'ai l'habitude d'écrire une seule classe par fichier Header

  4. #4
    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
    La réponse à ta question ne serait pas dans la FAQ des fois ?
    -> dépendances circulaires.
    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...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    je ne trouve pas. Pourtant j'ai parcouru des yeux toute la FAQ C++

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    Attention, je ne suis pas dans ce cas là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class A {
         public:
           B* foo();  // Erreur: Symbole inconnu 'B'
         };
     
    class B {
         public:
           A* bar();
         };
    si c'est à ce cas que tu penses Luc Hermitte

Discussions similaires

  1. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  2. Héritage de classes.
    Par Berzerk_ dans le forum C++
    Réponses: 48
    Dernier message: 13/08/2006, 23h48
  3. [POO] Héritage vs classe dans une classe
    Par robichou dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2006, 23h51
  4. Conflit entre java.util.Date et class java.sql.Date
    Par vonitiana dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2006, 11h43
  5. [OO] Héritage - Mixins Classes
    Par djmalo dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 01/03/2005, 23h16

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