state.cpp

来自「23中设计模式大家都应该知道吧」· C++ 代码 · 共 68 行

CPP
68
字号
//State.cpp
#include "State.h" 
#include "Context.h" 

#include <iostream> 
using namespace std;

State::State() 
{
}

State::~State() 
{
}

void State::OperationInterface (Context* con) 
{ 
	cout<<"State::.."<<endl;
}

bool State::ChangeState(Context* con,State* st) 
{ 
	con->ChangeState(st);
	return true; 
}

void State::OperationChangeState(Context* con) 
{ 
}

/// 
ConcreteStateA::ConcreteStateA() 
{
}

ConcreteStateA::~ConcreteStateA() 
{
}

void ConcreteStateA::OperationInterface (Context* con) 
{ 
	cout<<"ConcreteStateA::OperationInterface ......"<<endl; 
}

void ConcreteStateA::OperationChangeState(Context* con) 
{ 
	OperationInterface(con);
    this->ChangeState(con,new ConcreteStateB()); 
}
/// 
ConcreteStateB::ConcreteStateB()
{
}

ConcreteStateB::~ConcreteStateB()
{
}

void ConcreteStateB::OperationInterface (Context* con) 
{ 
	cout<<"ConcreteStateB::OperationInterface......"<<endl; 
}

void ConcreteStateB::OperationChangeState (Context* con) 
{ 
	OperationInterface(con);
	this->ChangeState(con,new ConcreteStateA()); 
}

⌨️ 快捷键说明

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