title: pointer not returning the value correctly
body: <p>I have a problem to return the value of the pointer in my program, the value of the pointer is not being saved, and when it reads it is returning null.</p>
  
  <p>Header Code:</p>
  
  <pre><code>class PlayerHK : public Player {
  public:
      PlayerHK();
  
      ULONG player_hp();
      ULONG player_power();
      ULONG player_hp2();
      ULONG player_power2();
  
  private:
  
      struct CPlayer
      {
          BYTE padding[0x20];
          ULONG hp;
          ULONG power;
      };
  
      CPlayer *player;
  };
  </code></pre>
  
  <p>Main Code:</p>
  
  <pre><code>PlayerHK::PlayerHK() {
  
          player = reinterpret_cast&lt;CPlayer*&gt;(*reinterpret_cast&lt;DWORD*&gt;(0x00B1C4E5));
  
      }
  
      ULONG PlayerHK::player_hp() {
          return player-&gt;hp; //does not return the value
      }
  
      ULONG PlayerHK::player_power() {
          return player-&gt;power; //does not return the value
      }
  
      ULONG PlayerHK::player_hp2() {
          player = reinterpret_cast&lt;CPlayer*&gt;(*reinterpret_cast&lt;DWORD*&gt;(0x00B1C4E5));
          return player-&gt;hp; //returns the value
      }
  
      ULONG PlayerHK::player_power2() {
          player = reinterpret_cast&lt;CPlayer*&gt;(*reinterpret_cast&lt;DWORD*&gt;(0x00B1C4E5));
          return player-&gt;power; //returns the value
      }
  </code></pre>
  
  <p>when the program I run will read the PlayerHK, the value should not get saved? Did I forget to do something?</p>