Files
42_INT_09_piscine_cpp/d01/ex05/Karen.cpp

35 lines
740 B
C++

#include "Karen.hpp"
void (Karen::*Karen::_fp[4])() = { &Karen::_debug, &Karen::_info, &Karen::_warning, &Karen::_error};
Karen::Karen() {
_level[0] = "DEBUG";
_level[1] = "INFO";
_level[2] = "WARNING";
_level[3] = "ERROR";
return;
}
Karen::~Karen() {return;}
void Karen::complain( std::string level ) {
int size;
size = sizeof(this->_level) / sizeof(this->_level[0]);
for (int i = 0; i < size; i++)
{
if (level.compare(this->_level[i]) == 0)
(this->*_fp[i])();
}
}
void Karen::_debug( void ) {std::cout << "debug" << '\n';}
void Karen::_info( void ) {std::cout << "info" << '\n';}
void Karen::_warning( void ) {std::cout << "warning" << '\n';}
void Karen::_error( void ) {std::cout << "error" << '\n';}