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 et partage des fonctions


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Par défaut Heritage et partage des fonctions
    Salut, je voudrais savoir s il est possible de recuperer une fonction d une classe fille a partir d une classe mere ?.

    En gros j ai une reference sur une classe mere qui derive en une classe fille et j ai un champ dans la classe fille qui m interesse. Je peut le recuperer ?
    Si oui comment ? Merci.

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    A moin de faire du downcasting je sais pas.
    Sinon si la classe mère a besoin d'un élément de la classe fille c'est qu'il y a problème de conception.

  3. #3
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    En effet, je rejoins seriousme, si tu as besoin d'accède au champ d'une classe fille pour une instance que tu considère comme étant de la classe mère, il y a problème...

    au mieux, tu n'exploites pas le polymorphisme...
    au pire, il y a une mauvaise modélisation quelque part...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Par défaut
    Exemple:
    class fille derive de mere

    Lors de ma creation de ma classe toto on m'impose en constructeur, un constructeur qui prend en argument un champ de type fille mais qui est conservé par la classe dont herite toto (et donc par toto) comme une classe de type mere.

    Donc a l'origine il y'a eu transtypage de la classe fille a la classe mere. Est ce impossible de refaire le chemin inverse comme en java ? avec par exemple (fille) champs_de_type_mere ?

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    C'est possible, avec dynamic_cast, mais c'est pas ce qu'il y a de mieux, comme l'on dit les 2 autres posteurs !

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Tu peux même utiliser static_cast si tu es certain du type.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Ben... oui, bien sur, les casting c'est pas pour les chiens.
    Sinon deux ou trois objections:
    Tu as interet à ce que la classe toto n'aie rien à voir dans le système d'héritage de tes classes mère et fille, sinon il y a un gros défaut de conception comme disent ceux qui m'ont précédé.
    Ton champs contenant ta classe mère (ou fille) doit obligatoirement être un pointeur sinon tu l'as dans l'os.
    Tu dois être sur que tu accèdes bien à un objet de la classe fille (possible de teste ca avec des castings spéciaux mais c'est pas le top, on peut presque toujours s'en passer).

  8. #8
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Une simple rectification :
    Citation Envoyé par zais_ethael
    Ton champs contenant ta classe mère (ou fille) doit obligatoirement être un pointeur sinon tu l'as dans l'os
    un pointeur OU une référence, les deux cas fonctionneront tant qu'il n'y a pas copie de la variable de base, il n'y a pas de problème en fait ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

Discussions similaires

  1. [XL-2007] Liaison des fonctions - macro complémentaires - partage de fichier Excel
    Par corentinBEG dans le forum Conception
    Réponses: 3
    Dernier message: 15/01/2015, 01h09
  2. Réponses: 9
    Dernier message: 22/10/2013, 13h50
  3. Réponses: 3
    Dernier message: 21/05/2013, 10h27
  4. partager des fonctions entre pages
    Par mapmip dans le forum Langage
    Réponses: 2
    Dernier message: 27/08/2012, 10h23
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19

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