====== Mini úloha #7 ====== ===== Zadání ===== {{ :courses:a7b36pjc:cviceni:ulohy:dune2.png?direct |}} Naimplementujte výše uvedený diagram tříd reprezentující jednotky z hry Dune 2: * U každé jednotky bude možné určit, zda je pásová, poháněná koly nebo pěší. * Vytvořte třídu UnitFactory podle návrhové vzoru [[https://en.wikipedia.org/wiki/Factory_method_pattern|Tovární metoda]], aby byla schopna vyrábět jednotky. * Každá jednotka bude zdravit svého kapitána například: “I am infantry. My mobility is foot.” ===== Kostra ===== #include #include #include using namespace std; class Mobility { string type() = 0; bool is_wheeled() { return false; } bool is_tracked() { return false; } bool is_foot() { return false; } }; class Unit { public: void salut() {} }; class Attack: public Unit { }; class Harvest: public Unit { }; class Harvester: public Harvest { }; class Infantry: public Attack { }; class Quad: public Attack { }; class Trike: public Attack { }; class UnitFactory { public: Unit * create_quad() { } Unit * create_trike() { } Unit * create_infantry() { } Unit * create_harvester() { } }; int main(void) { UnitFactory uf; std::vector units; for(int i=0; i < 10; i++) { units.push_back(uf.create_quad()); units.push_back(uf.create_trike()); units.push_back(uf.create_infantry()); units.push_back(uf.create_harvester()); } for (Unit* u : units) u->salut(); //I am infantry. My mobility is foot. //uklid pameti for (Unit* u : units) delete u; units.clear(); }