Naimplementujte výše uvedený diagram tříd reprezentující jednotky z hry Dune 2:
#include <iostream> #include <vector> #include <string> 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<Unit *> 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(); }