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 :

Classe abstraite et programmation multifichiers.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 432
    Par défaut Classe abstraite et programmation multifichiers.
    Bonjour

    Je vais tenter d'être clair sans écrire un roman :

    Dans notre DUT il nous est demandé de ne définir qu'une class par couple de fichiers .hpp et .cpp

    Là on a un tp où :
    Une classe pas abstraite (que j'appelerai A) a pour attribut un tableau dont les élément pointe vers une class abstraite (que j'appelerai Abstraite).
    La classe abstraite en question a quatre classe dérivée (On va toute les appeler Filles ^^).

    Dans A.hpp je mets
    #include "Abstraite.hpp"

    dans Abstraite.hpp je mets
    #include "A.hpp"

    et dans chaque Filles.hpp je mets
    #include "Abstraite.hpp"

    Si vous avez à peu près compris, j'aurai quelques questions :
    Est ce que je doit mettre quelque chose de spécial dans le constructeur de la classe abstraite ? (Pour le moment il est vide.)
    Est ce que, dans le .hpp de la classe abstraite je doit inclure les .hpp des classe dérivée ?

    Merci de votre effort ^^.
    Demandez moi des présisions si je ne suis pas clair.

  2. #2
    Expert confirmé
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Par défaut
    Citation Envoyé par AristoKrate Voir le message
    Dans A.hpp je mets
    #include "Abstraite.hpp"

    dans Abstraite.hpp je mets
    #include "A.hpp"
    Ce n'est pas beau du tout .. inclusion infinie ... ca boucle ..

    L'idéal est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Abstraite.hpp
    #ifndef __ABSTRAITE_H__
    #define __ABSTRAITE_H__
     
    class Abstraite
    {
    };
     
    #endif
    .. et ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // A.hpp
    #ifndef __A_H__
    #define __A_H__
     
    #include "Abstraite.hpp"
     
    class A : public Abstraite
    {
    };
     
    #endif
    Quel serait l'utilité d'inclure A.hpp dans Abstraite.hpp si tu ne t'en sert pas à l'intérieur de ta classe Abstraite..

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 432
    Par défaut
    Alors effectivement il y avait ce problème d'inclusions cycliques, mais ça je le savais pas ^^.
    Donc merci de m'avoir corriger ce problème.
    Maintenant je vais tenter de reformuler le problème pour lequel j'ai du créer ce topic :

    A a dans ses attribut un tableau : Abstraite* tab[10][10]
    La classe Abstraite a 4 filles pas abstraites (concrètes ?)

    Quand je doit remplir les 100 cases de mon tableaux depuis la classe A, est ce que je doit faire appel au constructeur Abstraite::Abstraite(...) qui se chargerai de choisir une des 4 filles comme il faut (et je ne voit pas comment), ou au constructeur d'une des 4 filles (choisi en fonction de certains critères) ?

    Encore merci.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Aux constructeurs des 4 filles, selon des critères qui doivent bien être définis quelque part, sinon tu n'aurais pas à choisir...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [Debutant] Une classe abstraite en parametre ?
    Par kiroukou dans le forum Débuter
    Réponses: 8
    Dernier message: 03/02/2005, 15h05
  2. [Débutant(e)] toString + classes abstraites
    Par debdev dans le forum Langage
    Réponses: 9
    Dernier message: 26/01/2005, 15h22
  3. [Debutant][Conception] Classes abstraites et interface.
    Par SirDarken dans le forum Langage
    Réponses: 4
    Dernier message: 29/10/2004, 00h02
  4. Classe abstraite / MVC
    Par caramel dans le forum MVC
    Réponses: 5
    Dernier message: 01/04/2003, 09h27
  5. pb constructeurs classes dérivant classe abstraite
    Par Cornell dans le forum Langage
    Réponses: 2
    Dernier message: 10/02/2003, 19h02

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