#include "PresidentialPardonForm.hpp" #include #include #include "AForm.hpp" #include "colors.h" PresidentialPardonForm::PresidentialPardonForm(std::string target) : AForm("Presidential Pardon", 25, 5), _target(target) { std::cout << PRESIDENTIAL_PARDON_FORM PARAMETERIZED_CONSTRUCTOR << std::endl; std::cout << PRESIDENTIAL_PARDON_FORM << *this << std::endl; } PresidentialPardonForm::~PresidentialPardonForm() { std::cout << PRESIDENTIAL_PARDON_FORM DESTRUCTOR << std::endl; } PresidentialPardonForm::PresidentialPardonForm( const PresidentialPardonForm &other) : AForm(other), _target(other._target) { std::cout << PRESIDENTIAL_PARDON_FORM COPY_CONSTRUCTOR << std::endl; std::cout << PRESIDENTIAL_PARDON_FORM << *this << std::endl; } std::ostream &operator<<(std::ostream &os, const PresidentialPardonForm &form) { os << form.getName() << " Form: " << (form.getIsSigned() ? "Signed" : "Not Signed") << ", Sign Grade: " << form.getSignGrade() << ", Execute Grade: " << form.getExecuteGrade() << ", Target: " << form.getTarget(); return os; } void PresidentialPardonForm::execute(const Bureaucrat &executor) const { isExecutable(executor); std::cout << PRESIDENTIAL_PARDON_FORM << executor.getName() << " made shure Zaphod Beeblebrox pardoned " << _target << "." << std::endl; } const std::string PresidentialPardonForm::getTarget() const { return _target; }