>>513 のやり方を推し進めたら、プログラム中に出てくる概念全部を
typedefなりクラス化なりすることになるな
アホとしか思えん

いちいち型を定義してたら型がむやみに大量発生するし、
そのせいでtypedefされた型の元の型がわからなくなって
どういう操作ができるのかいちいち調べる羽目になる

名前の一覧は vector<string> names; で十分
過度の抽象化は毒であると知れ