ceilingfanoffcommand.hpp

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

HPP
41
字号
#ifndef	_HFDP_CPP_COMMAND_UNDO_CEILING_FAN_OFF_COMMAND_HPP_#define _HFDP_CPP_COMMAND_UNDO_CEILING_FAN_OFF_COMMAND_HPP_#include "Undo.hpp"namespace HeadFirstDesignPatterns {namespace Command {namespace Undo {class CeilingFanOffCommand :public Command {	private: const CeilingFan* _ceilingFan;	private: mutable int _prevSpeed;  	public: explicit CeilingFanOffCommand( const CeilingFan* ceilingFan ) :		_ceilingFan( ceilingFan ) { assert( ceilingFan );		_prevSpeed = _ceilingFan->getSpeed();	}	public: void execute() const {		_prevSpeed = _ceilingFan->getSpeed();		_ceilingFan->off();	}	public: void undo() const {		if( _prevSpeed == CeilingFan::HIGH ) {			_ceilingFan->high();		} else if( _prevSpeed == CeilingFan::MEDIUM ) {			_ceilingFan->medium();		} else if( _prevSpeed == CeilingFan::LOW ) {			_ceilingFan->low();		} else if( _prevSpeed == CeilingFan::OFF ) {			_ceilingFan->off();		}	}};} // namespace Undo} // namespace Command} // namespace HeadFirstDesignPatterns#endif

⌨️ 快捷键说明

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