code is simplified. Data collection Weap::weap in std::vector