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 :

Comment eviter l'appel de la methode mere surchargée


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2002
    Messages : 115
    Par défaut Comment eviter l'appel de la methode mere surchargée
    Bonjour,

    Voila j'ai mis en place une petit chiane d'heritage entre mes classes. Je souhaite me servir du polymorphisme pour adapter l'appel à une methode particuliere selon les cas. Mais je me rend compte que lorsque ma methode est appellée dans un classe fille, celle de la classe mere est appellée aussi (et avant bien sur)! Normallement on doit implicitement dire que l'on veut appeller cele de la classe parent non ? (d'ailleurs comme le faire?)
    Car là cela sef ait automatiquement, et je ne sais pas comment l'eviter.

    Je vous remercie
    Kiroukou

  2. #2
    Membre expérimenté Avatar de BertrandA
    Inscrit en
    Août 2003
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 170
    Par défaut
    Normallement on doit implicitement dire que l'on veut appeller cele de la classe parent non ?
    Oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BaseClass::Method();
    Car là cela se fait automatiquement, et je ne sais pas comment l'eviter.
    Ce n'est pas normal. Un peu de code à nous montrer ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 115
    Par défaut
    Salut et merci pour ta reponse tres tres rapide 8)

    Je vais essayer de vous montrer un morceau de code qui peut etre la raison, mais comme je suis debutant en C++ et que cela est mon premier projet dans ce language je m'y perd un peu

    Cela pourrai t'il venir d'un heritage protected? Car il me semble que cela va mieux maintenant alors que je l'ai remis en public .. ?

    Je vais voir ce que je peux faire pour le code

    Merci encore
    ++

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 115
    Par défaut
    je n'arrive plus a reproduire le phénomène . J'avais changé pas mal de choses et mon problème s'est reglé.
    En tout cas je souhaitais juste etre sur que cela n'etait pas nomal
    Merci encore BertrandA pour ces informations

    ++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Par défaut
    Il n'y a que dans le cas des constructeurs/destructeurs que les constructeurs/destructeurs de la classe mère qui sont automatiquement appelés dans les constructeurs de la classe fille (et ça tu ne peux pas l'empêcher, tu peux juste éventuellement lui dire quel constructeur appeler).

    Par contre, ce méchanisme ne se produit pour aucune autre méthode héritée. Tu as certainement dû remarquer ce phénomène dans le cas d'un constructeur.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 115
    Par défaut
    salut Denis,
    bah non justement... Ce n'etait pas pour un constructeur, mais bel et bien pour une methode .
    Mais comme cela ne se refais plus, je me demande si ce n'est pas une accumulation de petites erreurs qui a pu me donner cette impression (je m'en suis aperçu avec des cout)
    Bref comme je n'etais pas sur du comportement du c++ dans ces cas là, je me suis peut etre affolé trop tot sans reellement verifier à 100% ce que je voyais

    Merci de ta remarque.
    ++

Discussions similaires

  1. appel d'une methodes classe fille de type classe mere
    Par Mephista dans le forum Langage
    Réponses: 8
    Dernier message: 29/10/2011, 23h05
  2. comment proteger l'appel d'une methode avec JASS
    Par riadhhwajdii dans le forum Sécurité
    Réponses: 4
    Dernier message: 12/11/2009, 15h32
  3. comment faire l'appel entre deux methodes de DispatchAction
    Par anaisensitive dans le forum Struts 1
    Réponses: 6
    Dernier message: 03/09/2008, 15h02
  4. Réponses: 2
    Dernier message: 08/08/2006, 16h31
  5. [opengl] Comment eviter l'ordre de faces ?
    Par :GREG: dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/03/2004, 19h14

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