Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <list>
- #include <string>
- #define pi (3.14)
- using namespace std;
- class Figura
- {
- protected:
- int pozycjaX, pozycjaY;
- double pole;
- string nazwa;
- public:
- int pobierzX()
- {
- return pozycjaX;
- }
- Figura(int x, int y, string nazwa) : pozycjaX(x), pozycjaY(y), nazwa(nazwa)
- {
- nazwa = "figura";
- }
- string pobierzNazwe()
- {
- return nazwa;
- }
- double pobierzPole()
- {
- return pole;
- }
- };
- class Okrag : public Figura
- {
- private:
- int z;
- public:
- Okrag(int x, int y, int z, string nazwa) : Figura(x, y, nazwa), z(z)
- {
- polepow();
- }
- float polepow()
- {
- pole = (pi*z*z);
- return (pi*z*z);
- }
- int pobierzY()
- {
- return pozycjaY;
- }
- };
- class Prostokat : public Figura
- {
- public:
- Prostokat(int x, int y, string nazwa) : Figura(x, y, nazwa)
- {
- polepow();
- }
- int polepow()
- {
- pole = pozycjaX * pozycjaY;
- return (pozycjaX*pozycjaY);
- }
- };
- class Kwadrat : public Figura
- {
- public:
- Kwadrat(int x, string nazwa) : Figura(x, x, nazwa)
- {
- polepow();
- }
- int polepow()
- {
- pole = pozycjaX*pozycjaX;
- return (pozycjaX * pozycjaY);
- }
- };
- int main()
- {
- int suma = 0;
- list<Figura*>lista;
- lista.push_back(new Okrag(1, 2, 3, "kolko"));
- lista.push_back(new Prostokat(2, 5, "prostokacik"));
- lista.push_back(new Kwadrat(5, "kwadracik"));
- for (list<Figura*>::iterator iter = lista.begin(); iter != lista.end(); iter++)
- {
- cout << "Nazwa: " <<(*iter)->pobierzNazwe();
- cout << ", pole: " << (*iter)->pobierzPole() << endl;
- }
- //cout << k.polepow();
- getchar();
- cin.ignore();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement