int main() { Character *me = new Character("Phenix"); MateriaSource *source = new MateriaSource(); source->learnMateria(new Ice()); source->learnMateria(new Cure()); me->equip(source->createMateria("ice")); me->equip(source->createMateria("cure")); me->use(0, *me); Character b("Copy"); b = *me; delete me; cout << "Deleted" << endl; b.use(1, b); cout << "Used" << endl; }
int main(void) { std::cout << "===[Materias] Ctors Dtors Assignations===========" << std::endl; { Ice m1; std::cout << "" << std::endl; Ice m2(m1); std::cout << "" << std::endl; (void)m1; m2 = m1; std::cout << "" << std::endl; } std::cout << "" << std::endl; std::cout << "" << std::endl; std::cout << "===[Flow test] ==========" << std::endl; { std::cout << "{main} new source m" << std::endl; MateriaSource m; std::cout << "{main} learning patterns" << std::endl; m.learnMateria(new Ice); m.learnMateria(new Cure); std::cout << "" << std::endl; std::cout << "{main} new character c1" << std::endl; Character c1("concon"); std::cout << "" << std::endl; std::cout << "{main} c1.equip(m.createMateria(\"ice\"));" << std::endl; c1.equip(m.createMateria("ice")); std::cout << "" << std::endl; std::cout << "{main} new character c2(c1)" << std::endl; Character c2(c1); std::cout << "" << std::endl; std::cout << "{main} c2 bag:" << std::endl; c2.describeBag(); std::cout << "{main} c2.equip(m.createMateria(\"cure\"));" << std::endl; c2.equip(m.createMateria("cure")); std::cout << "{main} c2.use(0, c1); x2" << std::endl; c2.use(0, c1); c2.use(0, c1); std::cout << "{main} c2 bag:" << std::endl; c2.describeBag(); std::cout << "{main} c1 bag:" << std::endl; c1.describeBag(); std::cout << "" << std::endl; std::cout << "{main} c1=c2;" << std::endl; c1 = c2; std::cout << "{main} c1 bag:" << std::endl; c1.describeBag(); std::cout << "" << std::endl; (void)c2; } return (0); }