title: C++ , variables , abstract/ virtual class
body: <p>Please help me, i'm pretty new to objective C++ and i do not know how to get to variable inicjatywa correctly.
  I do not know what is wrong. It is possible that i do not fully understand virtual and abstract classes so i would be greatfull for explaining my mistake.
  I want program to output  the value of inicjatywa ( value = 5) from my object Wolf, using the pointer from Organizmy class.</p>
  
  <pre><code>class Organizmy
  {
  public:
  int inicjatywa;
  virtual void akcja() = 0;
  virtual void kolizja() = 0;
  virtual void rysowanie() = 0;
  virtual ~Organizmy(){};
  };
  
  class Animal: public Organizmy
  {
  public:
      int inicjatywa;
      virtual void akcja() = 0;
      virtual void kolizja() = 0;
      virtual void rysowanie() = 0;
      virtual ~Animal(){};
  
  };
  
  class Wolf: public Animal
  {
  public:
      int inicjatywa;
  
      Wolf(){
          cout &lt;&lt; "Crate Wolf" &lt;&lt; endl;
          this-&gt;inicjatywa = 5;
      };
      ~Wolf(){};
      void akcja(){};
      void kolizja(){};
      void rysowanie(){
          cout &lt;&lt; "W" &lt;&lt; endl;
          cout &lt;&lt; this-&gt;inicjatywa &lt;&lt; endl; // here he output 5 
      };
  };
  int main()
  {
      Organizmy *b;     // I create new poiter; type Organizmy
      b=new Wolf();     // He is now pointing new object Wolf
      b-&gt;rysowanie();   // here he outputs correct value of the new elemnt 
      cout&lt;&lt;b-&gt;inicjatywa&lt;&lt; endl; //but here the code outputs -8421.... 
                                  //and it should be 5 not -8421....
  
  }
  </code></pre>