diff options
Diffstat (limited to 'ex06/Harl.cpp')
| -rw-r--r-- | ex06/Harl.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ex06/Harl.cpp b/ex06/Harl.cpp new file mode 100644 index 0000000..fcad030 --- /dev/null +++ b/ex06/Harl.cpp @@ -0,0 +1,55 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* Harl.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/02/12 10:37:12 by dkaiser #+# #+# */ +/* 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; +} |
