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 :

[POO] Héritage et type


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 89
    Points : 50
    Points
    50
    Par défaut [POO] Héritage et type
    Bonjour,
    J'avais précédemment créé deux classes (A et B) qui ont chacune un paramètre P (de type 1 pour la classe 1 et de type 2 pour la classe B) et une méthode getP. Je souhaite maintenant (après avoir écrit pas mal de code) que B soit une classe qui hérite de A ... existe-t-il un moyen pour s'assurer que getP va bien retourner le paramètre P du type souhaité?
    Christian

  2. #2
    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
    Points : 13 017
    Points
    13 017
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    A a;
    a.getP() // Tu auras un type1
    B b;
    b.getP() // Tu auras un type2
    A *pA(&a);
    pA->getP() // Tu auras un type1
    B *pB(&B);
    pB->getP()// Tu auras un type2
     
    A *pPb(&B);
    pPb->getP // Et bien là, ca dépend! Si getP est virtuel, tu auras un type2 sinon tu auras un type1
    C'est bien étrange de changer l'héritage en cours de route. En général, ca veux dire alerte, problèmes en perspective. Un beau plan test à dérouler en perspective et une maintenance .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 89
    Points : 50
    Points
    50
    Par défaut
    Merci pour la réponse. En fait, j'ai une méthode dans B (disons test()) qui appelle getP(). Et je veux dire "prend le getP() de ta classe mère" ...
    Christian

  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
    Points : 13 017
    Points
    13 017
    Par défaut
    Quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    B b;
    b.getP();// Le P de B
    b.A::getP(); // Le P de A.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 89
    Points : 50
    Points
    50
    Par défaut Trouvé
    J'ai mis ceci et ça marche ... peut-être est-ce équivalent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    B::test()
    {
    ...
    A *a=this;
    a->getP()
    ...
    }
    Encore merci pour ton aide rapide.
    Christian

  6. #6
    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
    Points : 13 017
    Points
    13 017
    Par défaut
    Ca restera vrai tant que getP ne sera pas virtuel.
    Si ton problème est résolu penses à

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

Discussions similaires

  1. [POO] Héritage vs classe dans une classe
    Par robichou dans le forum Langage
    Réponses: 4
    Dernier message: 07/08/2006, 00h51
  2. [POO] Poo : héritage & constructeur
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 11/07/2006, 15h29
  3. [POO]héritage du constructeur de la classe parente
    Par new_wave dans le forum Langage
    Réponses: 7
    Dernier message: 10/03/2006, 15h25
  4. [POO] Trouver le type d'un objet passé en argument
    Par FremyCompany dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/02/2006, 16h08
  5. [POO-Héritage] Appel du constructeur en PHP4.3.2
    Par raoulchatigre dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2005, 16h37

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