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 et dérivation


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Par défaut héritage et dérivation
    bonjour tout le monde,
    j'ai une petit problème avec une classe et sa dérivée.
    en résumé j'ai une classe ki contient un tableau en protected, et je dérive cette classe en public. Mon problème est que je voudrais pouvoir accéder aux éléments du tableau de ma classe de base dans ma classe dérivée, sachant que je ne paux pas toucher à la classe de base.
    Merci

  2. #2
    Membre confirmé Avatar de layouni
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut Une méthode
    Bonjour


    même si le pb n'est pas clair. mais, je propose de déclarer une méthode public dans la classe de base qui permet d'accéder aux éléments de tableau.

    A+

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 394
    Par défaut Re: héritage et dérivation
    Citation Envoyé par leycho
    Mon problème est que je voudrais pouvoir accéder aux éléments du tableau de ma classe de base dans ma classe dérivée, sachant que je ne paux pas toucher à la classe de base.
    Dans la classe dérivée, tu as accès à toute les variables publiques et protgées de la classe de base.
    Tu n'as donc pas de problème.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    S'il est en accès protégé tu ne devrais pas avoir de problème pour y accéder dans la classe dérivée. Tu peux préciser ?

  5. #5
    Membre averti
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Par défaut
    en fait ce qu'il se passe c'est que je ne sais pas (j'avoue me perdre un peu dans le c++) comment y accéder dans ma classe dérivée. Comment et quoi déclarer pour accéder au tableau de ma classe de base sachant qu'effectivement du fait qu'il soit protected, je peux y accéder, le truc c'est que je sais pas comment ...

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Comme n'importe quelle donnée membre de ta classe, il n'y a rien de spécial à faire.

  7. #7
    Membre confirmé Avatar de layouni
    Inscrit en
    Mai 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2004
    Messages : 119
    Par défaut conseilles
    Bonjour


    je vous conseille de voir les cours sur le site ce mieux. vous devez connaitre la notion de base d'un language avant de commencer à développer !


    Bon courage et A+

  8. #8
    Membre chevronné Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Par défaut
    Salut,

    Si tu herites de ta classe de base alors tu peux acceder directement au membre de celle ci depuis ta classe derivée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class Base
    {
      protected:
      int x;
    }
     
    class Derive : public Base
    {
        public:
        int getX(){return x;}; //ici je peux acceder directement a x qui est dans Base
    }
    Le seul cas ou tu ne peux pas faire cela c'est lorsque le membre de la classe de base est privé.

    XXiemeciel.

  9. #9
    Membre averti
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Par défaut
    ok merci loulou24

  10. #10
    Membre averti
    Inscrit en
    Février 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 43
    Par défaut
    merci pour ce petit exemple ça me clarifie bien les idées
    merci beaucoup !!!

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

Discussions similaires

  1. [Débutant] Héritage et dérivation
    Par lerorodu51 dans le forum C#
    Réponses: 3
    Dernier message: 30/07/2013, 13h56
  2. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 09h18
  3. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 16h37
  4. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44
  5. Dérivation dune fonction
    Par srvremi dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/07/2002, 14h21

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