diff options
Diffstat (limited to 'ex05/Harl.cpp')
| -rw-r--r-- | ex05/Harl.cpp | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/ex05/Harl.cpp b/ex05/Harl.cpp index 91430f7..fcad030 100644 --- a/ex05/Harl.cpp +++ b/ex05/Harl.cpp @@ -6,8 +6,50 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/12 10:37:12 by dkaiser #+# #+# */ -/* Updated: 2025/02/12 10:37:22 by dkaiser ### ########.fr */ +/* Updated: 2025/02/12 11:29:15 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ #include "Harl.hpp" +#include <iostream> + +void Harl::complain(std::string level) +{ + std::string levels[4] = {"DEBUG", "INFO", "WARNING", "ERROR"}; + void (Harl::*funcs[4])() = {&Harl::debug, + &Harl::info, + &Harl::warning, + &Harl::error}; + for (int i = 0; i < 4; i++) + { + if (level == levels[i]) + (this->*funcs[i])(); + } +} + +void Harl::debug(void) +{ + std::cout << "I love having extra bacon for my "; + std::cout << "7XL-double-cheese-triple-pickle-special-ketchup burger. "; + std::cout << "I really do!" << std::endl; +} + +void Harl::info(void) +{ + std::cout << "I cannot believe adding extra bacon costs more money. "; + std::cout << "You didn’t put enough bacon in my burger! "; + std::cout << "If you did, I wouldn’t be asking for more!" << std::endl; +} + +void Harl::warning(void) +{ + std::cout << "I think I deserve to have some extra bacon for free. "; + std::cout << "I’ve been coming for years whereas you "; + std::cout << "started working here since last month." << std::endl; +} + +void Harl::error(void) +{ + std::cout << "This is unacceptable! I want to speak to the manager now."; + std::cout << std::endl; +} |
