Advertisement
amber91

lab6 PO Polimorfizm

Dec 20th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. class Ksztalt
  2. {
  3. public:
  4.    virtual void oblicz_pole()=0;
  5.    //czysta funkcja wirtualna
  6. };
  7. //////////////////////////////////
  8.  
  9. class Kolo :public Ksztalt
  10. {
  11.    float r;
  12. public:
  13.    Kolo(float x)
  14.    {
  15.       r=x;
  16.    }
  17.    virtual void oblicz_pole()
  18.    {
  19.       cout<<"Pole kola: "<<3.14*r*r<<endl;
  20.    }
  21. };
  22. ////////////////////////////////////////
  23.  
  24. class Kwadrat :public Ksztalt
  25. {
  26.    float a;
  27. public:
  28.    Kwadrat(float x)
  29.    {
  30.       a=x;
  31.    }
  32.    virtual void oblicz_pole()
  33.    {
  34.       cout<<"pole kwadratu: "<<a*a<<endl;
  35.    }
  36. };
  37. //////////////////////////////////
  38.  
  39. void obliczenia(Ksztalt *x)
  40. {
  41.    x -> oblicz_pole();
  42. }
  43.  
  44. int main()
  45. {
  46.     Kolo k(1);
  47.     Kwadrat kw(2);
  48.  
  49.     Ksztalt *wsk;
  50.  
  51.     wsk = &k;
  52.     wsk -> oblicz_pole();
  53.  
  54.     wsk = &kw;
  55.     wsk -> oblicz_pole();
  56.  
  57.     obliczenia(wsk);
  58.  
  59.     return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement