cpp/CPP05/ex01/Form.hpp
2024-12-04 17:29:31 +01:00

40 lines
743 B
C++

#pragma once
#include "Bureaucrat.hpp"
class Bureaucrat;
class Form {
public:
class GradeTooHighException : public std::exception {
public:
char const* what() const throw();
};
class GradeTooLowException : public std::exception {
public:
char const* what() const throw();
};
Form();
Form(std::string name, int grade, int gradeExec);
~Form();
Form(const Form &form);
Form &operator=(const Form &form);
std::string getName() const;
bool isSigned() const;
int getGrade() const;
int getGradeExec() const;
void beSigned(Bureaucrat &crat);
private:
const std::string name;
bool sign;
const int grade;
const int gradeExec;
};
std::ostream& operator<<(std::ostream& os, Form const& form);