1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Welcome to our Education website, plz like our page facebook to support us. Thank You and wish you good navigation

Surface d'un rectangle en c++ - Notion d'héritage en c++

abdelouafiJan 1, 2017

    1. abdelouafi

      abdelouafi Administrator Staff Member

      Messages:
      399
      Likes Received:
      9
      Trophy Points:
      18
      Joined
      Sep 13, 2016
      Objectif: Comprendre la notion d'héritage avec des exemples pratiques testés par un compilateur (Dev-cpp).
      Le premier exercice vous demande de calculer la surface d'un rectangle, et le deuxième exercice traite la notion d'héritage multiple en c++. Le programme doit calculer le prix de la surface d'un rectangle.


      Exercice 1: Calcul surface d'un rectangle


      Développez un programme en c++ contenant deux classes : Sharp et rectangle. La classe rectangle hérite de la classe Sharp.
      La classe Shape contient deux méthodes setWidth et setHeight, elle contient aussi deux attributs protégés width et height. La classe rectangle contient la méthode getArea qui doit calculer la surface.
      Ecrire la fonction principale main de telle façon à vous demander de saisir la longueure et la largueure du rectangle puis affiche le résultat.?


      Exercice 2: Héritage multiple

      Modifier le programme précédent de telle façon à déclarer une autre classe mère qui s'appellera prix_surface. La classe rectangle hérite de la classe shape, et cette dernière doit hériter de la classe prix_surface.
      La classe prix_surface va calculer le prix de la surface de ce rectangle, la surface sera calculée par une méthode de la classe rectangle.


      Remarque:
      Vous pouvez voir la correction de ces deux exercices en cliquant sur "Solution" en haut de la page
       
      Last edited: Jan 1, 2017
      Loading...
      Exercice 1:

      Code:
      #include <iostream>
      using namespace std;
      
      // classe mère
      class Shape  {
         public:
            void setWidth(int w) {
               width = w;
            }
            
            void setHeight(int h) {
               height = h;
            }
            
         protected:
            int width;
            int height;
      };
      
      //class fille
      class Rectangle: public Shape {
         public:
            int getArea() {
               return (width * height);
            }
      };
      
      int main(void) {
         Rectangle Rect;
         int Long,Larg;
      std::cout << "Donnez la longueur" << std::endl;
      cin >> Long;
      std::cout << "Donnez la larguer" << std::endl;
      cin >> Larg;
      
         Rect.setWidth(Long);
         Rect.setHeight(Larg);
      
         // Print the area of the object.
         cout << "LA surface est: " << Rect.getArea() << endl;
      
         return 0;
      }



      Exercice 2:

      Code:
      #include <iostream>
      
      using namespace std;
      
      // La classe Shape
      class Shape {
         public:
            void setWidth(int w) {
               width = w;
            }
             
            void setHeight(int h) {
               height = h;
            }
             
         protected:
            int width;
            int height;
      };
      
      // LA classe mère  prix_surface
      class prix_surface  {
         public:
            int getCost(int area) {
               return area * 70;
            }
      };
      
      // LA classe rectange ; héritage multiple
      class Rectangle: public Shape, public prix_surface {
         public:
            int getArea() {
               return (width * height);
            }
      };
      
      int main(void) {
          Rectangle Rect;
          int area;
          int Long,Larg;
           std::cout << "Donnez la longueur" << std::endl;
          cin >> Long;
           std::cout << "Donnez la larguer" << std::endl;
           cin >> Larg;
          Rect.setWidth(Long);
          Rect.setHeight(Larg);
      
         area = Rect.getArea();
         
         // Print the area of the object.
         cout << "Total area: " << Rect.getArea() << endl;
      
         // Print the total cost of painting
         cout << "Le prix Total est : DH" << Rect.getCost(area) << endl;
      
         return 0;
      }

Share This Page

Share