Advertisement
jakobok12

JiPP - figury_klasy

Mar 31st, 2015
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <list>
  3. #include <string>
  4. #define pi (3.14)
  5. using namespace std;
  6.  
  7. class Figura
  8. {
  9. protected:
  10.     int pozycjaX, pozycjaY;
  11.     double pole;
  12.     string nazwa;
  13. public:
  14.     int pobierzX()
  15.     {
  16.         return pozycjaX;
  17.     }
  18.     Figura(int x, int y, string nazwa) : pozycjaX(x), pozycjaY(y), nazwa(nazwa)
  19.     {
  20.         nazwa = "figura";
  21.     }
  22.     string pobierzNazwe()
  23.     {
  24.         return nazwa;
  25.     }
  26.     double pobierzPole()
  27.     {
  28.         return pole;
  29.     }
  30. };
  31.  
  32. class Okrag : public Figura
  33. {
  34. private:
  35.     int z;
  36. public:
  37.  
  38.     Okrag(int x, int y, int z, string nazwa) : Figura(x, y, nazwa), z(z)
  39.     {
  40.         polepow();
  41.     }
  42.     float polepow()
  43.     {
  44.         pole = (pi*z*z);
  45.         return (pi*z*z);
  46.     }
  47.     int pobierzY()
  48.     {
  49.         return pozycjaY;
  50.     }
  51. };
  52.  
  53. class Prostokat : public Figura
  54. {
  55. public:
  56.     Prostokat(int x, int y, string nazwa) : Figura(x, y, nazwa)
  57.     {
  58.         polepow();
  59.     }
  60.     int polepow()
  61.     {
  62.         pole = pozycjaX * pozycjaY;
  63.         return (pozycjaX*pozycjaY);
  64.     }
  65. };
  66.  
  67. class Kwadrat : public Figura
  68. {
  69. public:
  70.     Kwadrat(int x, string nazwa) : Figura(x, x, nazwa)
  71.     {
  72.         polepow();
  73.     }
  74.     int polepow()
  75.     {
  76.         pole = pozycjaX*pozycjaX;
  77.         return (pozycjaX * pozycjaY);
  78.     }
  79.  
  80. };
  81.  
  82. int main()
  83. {
  84.     int suma = 0;
  85.     list<Figura*>lista;
  86.     lista.push_back(new Okrag(1, 2, 3, "kolko"));
  87.     lista.push_back(new Prostokat(2, 5, "prostokacik"));
  88.     lista.push_back(new Kwadrat(5, "kwadracik"));
  89.  
  90.     for (list<Figura*>::iterator iter = lista.begin(); iter != lista.end(); iter++)
  91.     {
  92.         cout << "Nazwa: " <<(*iter)->pobierzNazwe();
  93.         cout << ", pole: " << (*iter)->pobierzPole() << endl;
  94.     }
  95.     //cout << k.polepow();
  96.     getchar();
  97.     cin.ignore();
  98.     return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement