#pragma once #include "../AbstractGenome.h" #include class HaploidGenotype; class Genotype; class ChromosomeRearrangementStrategy { public: virtual HaploidGenotype buildRecombinantGenotype(const Genotype*); virtual HaploidGenotype buildRecombinantGenotype(const HaploidGenotype&, const HaploidGenotype&); }; // Класс коллекций стратегий class RecombinationStrategies { static std::map _strategies; public: static ChromosomeRearrangementStrategy* getInstance(std::string _name); };