andrelievable

zad 2

Nov 23rd, 2020
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1.  
  2. #include <cstdio>
  3. #include <stdexcept>
  4. #include <iostream>
  5.  
  6. class Shape
  7. {
  8. public:
  9.     virtual void draw() const
  10.     {
  11.         printf("Shape: wirtualna metoda draw\n");
  12.  
  13.     }
  14.     void size()
  15.     {
  16.         printf("Shape: niewirtualna metoda size\n");
  17.     }
  18. };
  19.  
  20. class Triangle : public Shape
  21. {
  22.     void draw() const override
  23.     {
  24.         printf("Triangle: draw\n");
  25.     }
  26.     void size()
  27.     {
  28.         printf("Triangle: size\n");
  29.     }
  30. };
  31.  
  32. class Quadrilat : public Shape
  33. {
  34.     void draw() const override
  35.     {
  36.         printf("Quadrilat: draw\n");
  37.     }
  38.     void size()
  39.     {
  40.         printf("Quadrilat: size\n");
  41.     }
  42. };
  43.  
  44. void drawMe(Shape& d)
  45. {
  46.     d.draw();
  47. }
  48. void sizeMe(Shape& s)
  49. {
  50.     s.size();
  51. }
  52.  
  53. int main()
  54. {
  55.     Shape x;
  56.     Triangle t;
  57.     Quadrilat q;
  58.  
  59.     Shape& x1 = x;
  60.     Shape& t1 = t;
  61.     Shape& q1 = q;
  62.  
  63.     drawMe(x1);
  64.     drawMe(t1);
  65.     drawMe(q1);
  66.  
  67.     sizeMe(x1);
  68.     sizeMe(t1);
  69.     sizeMe(q1);
  70.  
  71.     return 0;
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment