>>851
すごく見やすいソースですね、大体の感じは理解出来ました

GameInput.cppのunsigned int GameInput::index;で
静的でないメンバーはクラスの外側で定義できませんと出たので
ヘッダの宣言でstatic付けときましたけど、staticにして大丈夫ですか?

それと、DATA_MAXが未定義だったので、適当に#define DATA_MAX 256
と、とりあえずしておきました

以上でコンパイルできました
これからじっくりとソース見ていきたいと思います