bool Fleet::PlaceFighter(shared_ptr<Ship> fighter, vector<shared_ptr<Ship>> &placed) const { if(!fighter->CanBeCarried()) return false; for(const shared_ptr<Ship> &parent : placed) if(parent->Carry(fighter)) return true; return false; }