complainthandler.hpp
来自「深入浅出设计模式(书配套c++源代码)。包含20个设计模式的c++实现。」· HPP 代码 · 共 49 行
HPP
49 行
#ifndef _HFDP_CPP_CHAIN_OF_RESPONSIBILITY_COMPLAINT_HANDLER_HPP_#define _HFDP_CPP_CHAIN_OF_RESPONSIBILITY_COMPLAINT_HANDLER_HPP_namespace HeadFirstDesignPatterns {namespace ChainOfResponsibility {namespace GumballEMailHandler {class ComplaintHandler : public Handler { public: explicit ComplaintHandler( const Handler* successor = 0 ) : Handler( successor ) { } public: void handleRequest( std::string request ) const { std::transform( request.begin(), request.end(), request.begin(), tolower ); if( canHandleRequest( request ) == true ) { Handler::canHandleRequest( request ); } else { Handler::handleRequest( request ); } } public: bool canHandleRequest( const std::string& request ) const { bool value = false; if( std::string::npos != request.find( "bruisin" ) ) { value = true; } else if( std::string::npos != request.find( "frosted" ) ) { value = true; } else if( std::string::npos != request.find( "no where" ) ) { value = true; } else if( std::string::npos != request.find( "rattle my cage" ) ) { value = true; } else if( std::string::npos != request.find( "tale nightingale" ) ) { value = true; } return value; } public: void print() const { std::cout << std::endl << "Hate mail, send to Legal:"; Handler::print(); }};} // namespace GumballEMailHandler} // namespace ChainOfResponsibility} // namespace HeadFirstDesignPatterns#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?