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 :

Héritage de classe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 136
    Par défaut Héritage de classe
    Bonjour,

    J'ai défini trois classe de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [ ClassA ] -----
                    !
                    +----[ ClassMere ]
                    !
    [ ClassB ] -----
    la seul différence entre la classA et la ClassB est le contenu d'une méthode MethGenerique.
    dans le futur, il y aura une ClassC, ClassD, etc...

    Le problème est dans le fait que dans mon prog, je dois appeler la méthode MethGenerique avec un pointeur de type ClassMere (ils sont stocké dans un std::vector) mais avec des valeurs de paramètres différent.

    aujourd'hui, je pense que je vais créer un enum pour pouvoir différencier mes classes, mais je trouve ca dommage! j'aime pas trop utiliser les switch pour ce genre de chose!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for( iterObject = vect_ClassMere.begin(); iterObject != ClassMere.end(); iterObject ++)
    {
            switch ( (*iterObject)->typeObjet )
            {
             ...
            }
    }
    n'y aurait il pas une solution plus propre que permet le c++ pour récupérer le type de l'objet?

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    mais avec des valeurs de paramètres différent.
    C'est assez vague. Qu'est ce qui diffère ? Les types de paramètres ? Le nombre ? Les deux ?

    De façon générale, hors contexte, c'est assez difficile de répondre. Mais de toute façon, la solution de dynamic_caster/enum couplé à switch/tout truc dans le même genre est très souvent une mauvaise solution.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 136
    Par défaut
    Les classes sont identiques.
    En fait, ClassA, ClassB etc ont chacune besoin d'un handle d'événement différent.
    Seulement, le "hic", c'est qu'elle ne peuvent le gérer seule.
    je suis obligé de le leur fournir! c'est la classe qui les appelles qui gère ces handle.
    tout le problème est la.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Tu ne peux pas abstraire ce handle dans une classe générique déclinée ensuite selon tes classes A et B?

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Par défaut
    Salut,

    Le handle change au cours du temps ? Tu ne peux pas tout simplement le fournir lors de la construction des ClassA et ClassB ?

    MAT.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 136
    Par défaut
    Mat007:
    Je ne gère pas leur création dans la classe qui gère les handles.
    Le handle risque dans le futur d'évoluer aussi dans le temps.

    3DArchi:
    Je ne comprend pas le principe:
    si je met le handle dans une classe, comment elle vas deviner quel handle renvoyer?

Discussions similaires

  1. conflit d'inclusions et Héritage de classe
    Par gedeon555 dans le forum C++
    Réponses: 7
    Dernier message: 01/10/2006, 19h48
  2. [POO] Problème héritage des classes PHP4
    Par zana74 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h00
  3. Héritage de classes.
    Par Berzerk_ dans le forum C++
    Réponses: 48
    Dernier message: 13/08/2006, 23h48
  4. [POO] Héritage vs classe dans une classe
    Par robichou dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2006, 23h51
  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