>>16
適当に考えてみた。

Enemy* enemys[] = { new Enemy1(), new Enemy2(), new Enemy3() };
Enemy CreateEnemy(int num)
{
  return enemys[num]->clone();
}