title: How can I distinguish my characters in a vector? SFML 2.4.1
body: <p>I am using push_back to add identical characters and for some reason these characters all have the same stats all the time.</p>
  
  <p>Battle.cpp:</p>
  
  <pre><code>void Battle::InitalizeUser() 
  {
  
      user.t_Pokemon.clear();
      user.t_Item.clear();
  
      user.currentPokemon_U = 0;
  
      user.t_Pokemon.push_back(&amp;uF1);
      user.t_Pokemon.push_back(&amp;uF1);
      user.t_Pokemon.push_back(&amp;uW3);
      user.t_Pokemon.push_back(&amp;uW3);
      user.t_Pokemon.push_back(&amp;uG5);
      user.t_Pokemon.push_back(&amp;uG5);
  
      user.t_Item.push_back(&amp;uI1);
      user.t_Item.push_back(&amp;uI2);
  
      for (unsigned int i = 0; i &lt; user.t_Pokemon.size(); i++)
      {
          user.t_Pokemon.at(i)-&gt;poke_health = 100;
          user.t_Pokemon.at(i)-&gt;poke_isFainted = false;
      }
  
      assert(user.t_Pokemon.size() == 6);
  
      assert(user.t_Item.size() == 2);
  }
  </code></pre>
  
  <p>So if uF1 health is reduced all uF1 characters will suffer the same reduction, but I don't want all the others uF1 to suffer the reduction, I want to be able to distinguish them and have only one specific character affected.</p>
  
  <p>How can I do that?</p>
  
  <p>Pokemon.cpp:</p>
  
  <pre><code>void Pokemon::attackNormal(Pokemon * opponentPokemon)
  {
  
      opponentPokemon-&gt;poke_health = opponentPokemon-&gt;poke_health - 20;
      opponentPokemon-&gt;changeIfFainted();
  
      assert(opponentPokemon-&gt;poke_health &lt;= 100 &amp;&amp; opponentPokemon-&gt;poke_health &gt;= 0);
  
  }
  </code></pre>
  
  <p>Battle.h:</p>
  
  <pre><code>class Battle
  </code></pre>
  
  <p>{
  private:</p>
  
  <pre><code>static Trainer user;
  static Trainer ash;
  
  
  static IntRect user_Rect;
  static IntRect ash_Rect;
  
  // User's pokemon
  static Fire uF1;
  static Water uW3;
  static Grass uG5;
  static Item uI1;
  static Item uI2;
  </code></pre>
  
  <p>}</p>
  
  <p>uF1 : Pokemon.h</p>
  
  <pre><code>   class Fire : public Pokemon 
  </code></pre>
  
  <p>{</p>
  
  <pre><code>public:
   Fire(); 
   Fire(string name); 
   virtual ~Fire();
  void specialAttack(Pokemon * opponentPokemon);
  void changeWeather();
  void Draw(RenderWindow &amp;window);
  </code></pre>
  
  <p>};</p>