[cpp]
#include
#include
#include
using namespace std;
class CommandBase
{
public:
virtual void run()=0;
private:
};
class Command1:public CommandBase
{
public:
Command1(string strName):m_strName(strName){};
void run()
{
cout<
private:
string m_strName;
};
class Command2:public CommandBase
{
public:
Command2(string strName):m_strName(strName){};
void run()
{
cout<
private:
string m_strName;
};
class Command3:public CommandBase
{
public:
Command3(string strName):m_strName(strName){};
{
cout<
private:
string m_strName;
};
class Exclude
{
public:
void add(CommandBase& Command)
{
m_vetorCommand.push_back(&Command);
}
void run()
{
vector
while(Itr != m_vetorCommand.end())
{
(*Itr++)->run();
}
}
private:
vector
static Exclude m_cExclude;
};
int main()
{
Command1 cCommand1("cmd1");
Command2 cCommand2("cmd2");
Command3 cCommand3("cmd3");
Exclude cExclude;
cExclude.add(cCommand1);
cExclude.add(cCommand2);
cExclude.add(cCommand3);
cExclude.run();
while(1);
}
作者:peng654321