diff options
Diffstat (limited to 'cpp05/ex03/Intern.hpp')
| -rw-r--r-- | cpp05/ex03/Intern.hpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/cpp05/ex03/Intern.hpp b/cpp05/ex03/Intern.hpp index 60c2ac8..c27874a 100644 --- a/cpp05/ex03/Intern.hpp +++ b/cpp05/ex03/Intern.hpp @@ -6,13 +6,18 @@ /* By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/17 13:39:59 by cacharle #+# #+# */ -/* Updated: 2020/11/17 13:48:08 by cacharle ### ########.fr */ +/* Updated: 2020/11/17 17:58:02 by charles ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef INTERN_HPP # define INTERN_HPP +# include "Form.hpp" +# include "ShrubberyCreationForm.hpp" +# include "PresidentialPardonForm.hpp" +# include "RobotomyRequestForm.hpp" + class Intern { public: @@ -22,7 +27,19 @@ public: ~Intern(); Form *makeForm(std::string const& name, std::string const& target); + private: + Form *makeShrubberyCreationForm(std::string const& target); + Form *makePresidentialPardonForm(std::string const& target); + Form *makeRobotomyRequestForm(std::string const& target); + + typedef Form* (Intern::* makeFormFunc)(std::string const&); + struct makeFormEntry + { + std::string const name; + makeFormFunc const func; + }; + static makeFormEntry makeFormDispatch[]; }; #endif |
