Alx09

L5_Ex7_POO

Oct 26th, 2020
758
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. class Figura
  6. {
  7. protected:
  8.     string descriere;
  9. public:
  10.     virtual void deseneaza() = 0;
  11.    
  12. };
  13.  
  14. class Linie : public Figura
  15. {
  16. protected:
  17.     int x1, x2;
  18. public:
  19.     void deseneaza() {
  20.         descriere = "Linie orziontala";
  21.         int i;
  22.         for (i = 1; i < x1; i++)cout << " ";
  23.         for (i = x1; i <= x2; i++)
  24.             cout << "*";
  25.         cout << "\n";
  26.  
  27.     }
  28.     Linie(int x1, int x2) {
  29.         this->x1 = x1;
  30.         this->x2 = x2;
  31.     }
  32. };
  33. class Dreptunghi: public Linie
  34. {
  35. private:
  36.     int y;
  37. public:
  38.     void deseneaza() {
  39.         descriere = "un dreptunghi";
  40.         cout << "Aceasta este " << descriere.c_str() << "\n";
  41.         int i = 1;
  42.         Linie::deseneaza();
  43.         while (i < y) {
  44.             int j;
  45.             for (j = 1; j < x1; j++)cout << " ";
  46.             cout << "*";
  47.             for (j = x1 + 1; j < x2; j++)cout << " ";
  48.             cout << "*\n";
  49.             i++;
  50.         }
  51.         Linie::deseneaza();
  52.     }
  53.     Dreptunghi(int x1, int x2, int y) : Linie(x1, x2) {
  54.         this->y = y;
  55.     }
  56. };
  57.  
  58.  
  59.  
  60. int main() {
  61.     Figura *pFig;
  62.      pFig = new Linie(12, 29);
  63.      pFig->deseneaza();
  64.      delete pFig;
  65.      pFig = new Dreptunghi(12, 29, 10);
  66.      pFig->deseneaza();
  67.      delete pFig;
  68.      system("pause");
  69.      return 0;
  70. }
RAW Paste Data