Partage
  • Partager sur Facebook
  • Partager sur Twitter

Héritage

Sans "public"

Sujet résolu
    16 septembre 2007 à 18:41:07

    Salut à tous, je viens de lire les deux derniers tutos de Mateo21 et une question m'est venue à l'esprit.

    Soit ce code :

    1. class Mere
    2. {
    3.  public:
    4.      ...
    5.  private:
    6.      ...
    7.  protected:
    8.      ...
    9. };
    10. class Fille : public Mere
    11. {
    12.  ...
    13. };


    Que se passe-t-il si à la place de public Mere, je mets private Mere ou protected Mere ? Les propriétés de l'héritage s'en voient-elles modifiées et y a-t-il une méthode d'utilisation de Fille qui diffère ?

    Merci de vos réponses :)
    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2007 à 19:12:53

      Ah c'est tout bête en fait...
      Merci ^^
      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2007 à 23:50:14

        Tiens la FAQ ne traite que de l'aspect syntaxique, c'est à dire, le moins intéressant de tous (faudra que je griffouille un truc à ce sujet)

        En simplifiant, on a:
        - héritage public : rime avec "en vu d'être utilisé en place de", "est-un", polymorphisme (dit d'inclusion"), Principe de substitution de Liskov ; soit le truc dont parle m@téo dans son tuto.

        - héritage privé : rime avec "en vu de réutiliser du code", "est implémenté en termes de" ; soit le truc vendu à tord et à travers comme la chose qui rend l'OO génial et tellement mieux que tout le reste :-/

        - Quand à l'héritage protégé, c'est un truc hybride qu'emploient certains frameworks. Comprendre la différence entre l'héritage privé et le public suffit largement dans la majorité des codes.
        • Partager sur Facebook
        • Partager sur Twitter
        C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
          18 septembre 2007 à 20:51:18

          héritage public:
          public->public
          protected->protected
          private->X inacessible

          héritage protected:
          public->protected
          protected->private
          private->X inacessible

          héritage private:
          public->private
          protected->X inacessible
          private->X inacessible

          Voici les changements des niveaux de protection des membres d'une classe à travers l'héritage.
          • Partager sur Facebook
          • Partager sur Twitter
            18 septembre 2007 à 22:35:02

            :-/
            Dans la catégorie réponse syntaxique dépourvu du moindre recul, le contenu de la FAQ (dont le lien a déjà été donné) est plus compréhensible.
            • Partager sur Facebook
            • Partager sur Twitter
            C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

            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