⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 command.h

📁 23中设计模式大家都应该知道吧
💻 H
字号:
//Command.h
#ifndef _COMMAND_H_ 
#define _COMMAND_H_

class Reciever;
class Command 
{ 
public: 
	virtual ~Command();
	virtual void Excute() = 0;
protected: 
	Command();
private:
};

class ConcreteCommand:public Command 
{ 
public: 
	ConcreteCommand(Reciever* rev);
	~ConcreteCommand();
	void Excute();
protected:
private: 
	Reciever* _rev; 
};

//下面是通过模板的方式来参数化请求的接收者
template <class Reciever> class SimpleCommand:public Command 
{ 
public: 
	typedef void (Reciever::* Action)();

	SimpleCommand(Reciever* rev,Action act) 
	{ 
		_rev = rev;
		_act = act; 
	}

    virtual void Excute() 
	{ 
		(_rev->* _act)(); 
	}

    ~SimpleCommand() 
	{ 
		delete _rev; 
	}
protected:
private:
	Reciever* _rev;
	Action _act; 
};
#endif //~_COMMAND_H_

⌨️ 快捷键说明

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