関数がいつ実行されるかによってクラスメンバーの場所が変わるという問題があります。
コンストラクターの実行中、メンバーの場所は 0x008bc044 です。その後、メンバー関数が呼び出され、同じメンバーの場所はまだ 0x008bc044 です。その後もメンバー関数が再度実行されますが、同じメンバーの場所は 0x008bc048 に変更されます。クラスの他のすべてのメンバーは、その場所を変更しません。クラスを別の型にキャストしていません。
これは、関数がランダム データを読み取り、誤った出力を引き起こすため、問題を引き起こしています。
Visual Studio 2012、11.0.60315.01 Update 2 を使用しています。