ちなみに「3D空間において位置を有する存在」も「3D空間において向きを有する存在」も
それだけでちゃんと成り立つことが出来る。
例えば無限の3D空間に無尽蔵の水が詰まってるとしよう。
その水の名を仮にseaとするとして、seaは位置も向きも大きさも必要としないが
ちゃんと3D空間に存在している。もうこれは定義するなら class Sea
とでもするしかないだろう。
そして、ある日seaに水の流れ海流というべき現象が起こったとしよう。
するとseaは「3D空間において向きを有する存在」としての側面も有することになるのだ。
クラス定義としてはこんな感じか。class Sea : public Direction
俺が「Position」や「Direction」をひとつのクラスとして定義したのは
こういった可能性もあると思ったからだ。