From c426fe76ec5925e8c94aae3db04e5e1f1ce1585e Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 19 Oct 2020 13:59:12 +0200 Subject: Adding boilerplate cpp05/ex02 --- cpp05/ex02/Form.hpp | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 cpp05/ex02/Form.hpp (limited to 'cpp05/ex02/Form.hpp') diff --git a/cpp05/ex02/Form.hpp b/cpp05/ex02/Form.hpp new file mode 100644 index 0000000..3be16f6 --- /dev/null +++ b/cpp05/ex02/Form.hpp @@ -0,0 +1,65 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* Form.hpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: charles +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/04/14 19:19:45 by charles #+# #+# */ +/* Updated: 2020/10/19 13:16:01 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef FORM_HPP +# define FORM_HPP + +# include "Bureaucrat.hpp" + +class Form +{ +public: + Form(Form const& other); + void operator=(Form const& other); + ~Form(); + + Form(std::string const& name); + + std::string const& getName() const; + bool getSigned() const; + int getGradeSign() const; + int getGradeExecute() const; + + void beSigned(Bureaucrat const& b); + + class GradeTooHighException : public std::exception + { + public: + GradeTooHighException(); + GradeTooHighException(GradeTooHighException const& other); + GradeTooHighException& operator=(GradeTooHighException const& other); + ~GradeTooHighException(); + virtual char const* what() const throw(); + }; + + class GradeTooLowException : public std::exception + { + public: + GradeTooLowException(); + GradeTooLowException(GradeTooLowException const& other); + GradeTooLowException& operator=(GradeTooLowException const& other); + ~GradeTooLowException(); + virtual char const* what() const throw(); + }; + +private: + Form(); + + std::string const m_name; + bool m_signed; + int const m_gradeSign; + int const m_gradeExecute; +}; + +std::ostream& operator<<(std::ostream& out, Form const& f); + +#endif -- cgit