aboutsummaryrefslogtreecommitdiff
path: root/cpp05/ex01/Form.hpp
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-04-14 20:42:26 +0200
committerCharles <sircharlesaze@gmail.com>2020-04-14 20:42:26 +0200
commit7ac812044bfe771178752a52d70b18bb297c1891 (patch)
tree5f5faf0d627304cdfe1f1f45194b3da76653fff8 /cpp05/ex01/Form.hpp
parentefea8712aaf8169b1184cceb83705ca6b8783173 (diff)
downloadpiscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.tar.gz
piscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.tar.bz2
piscine_cpp-7ac812044bfe771178752a52d70b18bb297c1891.zip
cpp07 done, cpp06 ex00 and ex01 start
Diffstat (limited to 'cpp05/ex01/Form.hpp')
-rw-r--r--cpp05/ex01/Form.hpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/cpp05/ex01/Form.hpp b/cpp05/ex01/Form.hpp
new file mode 100644
index 0000000..a2421bd
--- /dev/null
+++ b/cpp05/ex01/Form.hpp
@@ -0,0 +1,63 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* Form.hpp :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/14 19:19:45 by charles #+# #+# */
+/* Updated: 2020/04/14 19:37:21 by charles ### ########.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);
+ void operator=(GradeTooHighException const& other);
+ ~GradeTooHighException();
+ virtual char const* what() const throw();
+ };
+
+ class GradeTooLowException : public std::exception
+ {
+ public:
+ GradeTooLowException();
+ GradeTooLowException(GradeTooLowException const& other);
+ void 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