fanhandler.hpp

来自「深入浅出设计模式(书配套c++源代码)。包含20个设计模式的c++实现。」· HPP 代码 · 共 53 行

HPP
53
字号
#ifndef	_HFDP_CPP_CHAIN_OF_RESPONSIBILITY_FAN_HANDLER_HPP_#define _HFDP_CPP_CHAIN_OF_RESPONSIBILITY_FAN_HANDLER_HPP_namespace HeadFirstDesignPatterns {namespace ChainOfResponsibility {namespace GumballEMailHandler {class FanHandler : public Handler {	public: explicit FanHandler( 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( "razz" ) ) {			value = true;		} else if( std::string::npos != request.find( "hip" ) ) {			value = true;		} else if( std::string::npos != request.find( "radioactive" ) ) {			value = true;		} else if( std::string::npos != request.find( "blast" ) ) {			value = true;		} else if( std::string::npos != request.find( "boss" ) ) {			value = true;		} else if( std::string::npos != request.find( "orbit" ) ) {			value = true;		} else if( std::string::npos != request.find( "kick" ) ) {			value = true;		}		return value;	}	public: void print() const {		std:: cout << std::endl << "Fan mail, send to CEO:";		Handler::print();	}};} // namespace GumballEMailHandler} // namespace ChainOfResponsibility} // namespace HeadFirstDesignPatterns#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?