C++设计模式之命令模式

厨师类:

C++设计模式之命令模式
#include "Cooker.h"


Cooker::Cooker(void)
{
}


Cooker::~Cooker(void)
{
}
void Cooker::MakeDumplings()
{
    cout<<"Dumplings is done!"<<endl;
}
void Cooker::MakeNoodles()
{
    cout<<"Noodles is done!"<<endl;
}
C++设计模式之命令模式

命令类:

C++设计模式之命令模式
#include "Command.h"


Command::Command(Cooker* cooker_)
{
    this->cooker= cooker_;
}
Command::Command()
{
    
}

Command::~Command(void)
{
}
C++设计模式之命令模式

面条命令类:

C++设计模式之命令模式
#include "NoodlesCmd.h"


NoodlesCmd::NoodlesCmd(Cooker* temp)
{
    this->cooker=temp;
}
void NoodlesCmd::ExecuteCmd()

{
    cooker->MakeNoodles();
}

NoodlesCmd::~NoodlesCmd(void)
{
}
C++设计模式之命令模式

水饺命令类:

C++设计模式之命令模式
#include "DumplingCmd.h"


DumplingCmd::DumplingCmd(Cooker* temp)
{
    this->cooker=temp;

}

void DumplingCmd::ExecuteCmd()
{ 
    this->cooker->MakeDumplings();
}
DumplingCmd::~DumplingCmd(void)
{
}
C++设计模式之命令模式

例子:

C++设计模式之命令模式
// CommandModel.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "DumplingCmd.h"
#include "NoodlesCmd.h"
#include "Cooker.h"

int _tmain(int argc, _TCHAR* argv[])
{
    Cooker *cooker=new Cooker();

    NoodlesCmd *cmd1=new NoodlesCmd(cooker);
    DumplingCmd *cmd2=new DumplingCmd(cooker);
    cmd1->ExecuteCmd();
    cmd2->ExecuteCmd();
    getchar();
    delete cooker;
    delete cmd1;
    delete cmd2;
    return 0;
}
C++设计模式之命令模式

效果:

C++设计模式之命令模式

C++设计模式之命令模式,布布扣,bubuko.com

C++设计模式之命令模式

上一篇:C语言宏 ---- 宏展开


下一篇:初探利用C++的STL实现数学四则运算计算结果