Partage
  • Partager sur Facebook
  • Partager sur Twitter

héritage

public , private .....

    16 janvier 2006 à 18:00:56

    Bonjour, voilà j'ai de classe.


    class convertion {
     public:
    blabla
     private :
    blablabla
    };

    et


    class euro : typeAccess convertion {
     public:
    blabla
     private :
    blablabla

    };


    bon maintenant le problème : quels va être la difference si mon accès est :
    public
    private
    protected

    merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2006 à 18:38:05

      Si c'est en public, toutes les fonctions pourront utiliser les données membres.Si c'est private, les données ne seront utilisable que par les fonctions membres de la classe. En protected, les données seront utilisables par les fonctions membres de la classe et des classes dérivées
      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2006 à 19:28:05

        Citation : Luke

        Si c'est en public, toutes les fonctions pourront utiliser les données membres.Si c'est private, les données ne seront utilisable que par les fonctions membres de la classe. En protected, les données seront utilisables par les fonctions membres de la classe et des classes dérivées


        il parle du type d'héritage, mas des membres de la classe.
        perso je me pose là même question.
        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2006 à 19:31:34

          j'ai testé et je ne voie pas de différence...

          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2006 à 19:54:23

            L'explication de Luke est juste mais peut-être un peu floue...
            public, private et protected qualifie la visibilité du membre de la classe.
            public : visible n'importe où ;
            private : visible uniquement dans la classe qui l'a défini (et donc, seule une méthode de cette classe peut y accéder) ;
            protected : visible dans la classe qui l'a défini et dans les classes dérivées (et donc, seule une méthode de ces classes peut y accéder).

            Quel test as-tu fait ? Tu devrais voir la différence.
            • Partager sur Facebook
            • Partager sur Twitter
              16 janvier 2006 à 20:31:24

              class convertion {
              public:
              void bonsoir() { cout << " bonsoir " ; }
              };

              class binaire : typeAcces convertion {
              public:
              void bonsoir2() { cout << " bonsoir2 " ; }
              };

              inf main() {
              binaire bn1;
              bn1.bonsoir2();
              bn1.bonsoir();
              return 0;
              }

              • Partager sur Facebook
              • Partager sur Twitter
                16 janvier 2006 à 22:09:03

                Héritage publique : on hérite et on donne accès à ce dont on a hérité.
                Héritage privé : on hérite mais on ne donne pas accès à ce dont on a hérité (un utilisateur ne peut pas convertir le pointeur sur la classe dérivée en pointeur sur la classe de base).
                Héritage protégé : comme le privé, mais on autorise une classe dérivée (donc petite fille de la classe de base) à accéder à ce dont on a hérité.


                L'héritage privé est une forme d'aggrégation.


                Un lien avec plus d'explications

                Utilisé comme il est dit pour des "magouilles".

                A voir pour exemple : Spécialisation iostreams.

                • Partager sur Facebook
                • Partager sur Twitter

                héritage

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown