>>70
そのレベルだと、ほとんど、
#define GAME_STATE_TITLE 0 //タイトル画面
#define GAME_STATE_NAME 1 //名前入力
...以下略
と書いてあるのと同じだと考えてほとんど差し支えない。
C++はちゃんと基底型だけど、Cならさらに上記と同じようなもの。

クラスの中に入れたり、ネームスペースの中に入れたりして使うのが普通だから
そうなってくると違いが出てくる。