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 :

Heritage: referencer une classe abstraite dans une autre classe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut Heritage: referencer une classe abstraite dans une autre classe
    Bonjour,

    Ma question ne concerne pas exactement l'Heritage mais l'appel d'une classe abstraite pas une autre classe. Je m'explique par un exemple:
    -vous avez une classe abstraite A dont vous deriver deux classe A1 et A2
    -vous voulez construir une classe B qui reference un objet a qui peut etre de type A1 ou A2, le type de a sera connu dynamiquement.

    Comment on peut faire ca?
    Votre aide me sera tres precieuse, je vous en remercie d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 38
    Par défaut
    Bonjour
    essayez toujours de faire une recherche avant de poster un message.
    http://cpp.developpez.com/cours/cpp/?page=page_10#LX-O

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Sympa ton pseudo !
    Effectivement, sujet largement traité (et récurrent). Il suffit de stocker l'instance sous forme de pointeur.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut
    merci flighwheit pour le lien, j'ai fait une recherche avant de poster ma question, mais je me suis un peu perdue dans les sites.

    Poukil, je pense que le probleme est un peu plus complique comme la classe abstraite A ne declare pas forcement toutes les methodes dans A1 et A2
    exemple :
    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
    17
    18
    19
    20
    21
    22
    23
    24
     
    class A {
       public :
           A();
           virtual fA();
    }
     
    Class A1 : public A{
        ...
        fA();
        fA1();
     
    }
     
    class B {
    ...
    void f();
    A*a ;
    }
     
    B::f(){
     
       a.fA1() // Problem ici fA1 n'est pas visible a partir de a 
    }
    est ce qu'y a une methode pour que le code precedant marche

  5. #5
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Pense à la balise CODE!
    Ce genre de problème se résoud avec un downcasting par exemple...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static_cast<A1>(a).fA1() // Problème résolu
    Mais ce genre de problème peut faire penser à un problème de conception...

  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut
    Exactement c'est un probleme de conception pour moi
    Si vous avez des suggestionsur comment se servir de l'Oriente Objet de maniere efficace ce sera extremenet util pour moi.
    merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/11/2014, 14h46
  2. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  3. Réponses: 7
    Dernier message: 03/12/2008, 15h18
  4. Réponses: 1
    Dernier message: 11/06/2008, 13h33
  5. Classe abstraite dans une base de données
    Par mctd02 dans le forum Schéma
    Réponses: 1
    Dernier message: 19/11/2007, 08h48

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