#pragma once #include #include #include #include class Intern { public: Intern(); Intern(const Intern& other); AForm* makeForm(const std::string& formName, const std::string& target) const; Intern& operator=(const Intern& other); virtual ~Intern(); private: AForm* createShrubberyCreationForm(const std::string& target) const; AForm* createRobotomyRequestForm(const std::string& target) const; AForm* createPresidentialPardonForm(const std::string& target) const; class UnknownFormException : public std::exception { public: const char* what() const throw(); }; };