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

📄 memento.cpp

📁 常见设计模式的解析和实现,c++实现,经典的设计模式解析源码
💻 CPP
字号:
/********************************************************************
	created:	2006/08/09
	filename: 	Memento.cpp
	author:		李创
                http://www.cppblog.com/converse/

	purpose:	Memento模式的演示代码
*********************************************************************/

#include "Memento.h"
#include <iostream>

Originator::Originator()
{

}

Originator::Originator(const State& rState)
	: m_State(rState)
{

}

Originator::~Originator()
{

}

State Originator::GetState()
{
	return m_State;
}

void Originator::SetState(const State& rState)
{
	m_State = rState;
}

Memento* Originator::CreateMemento()
{
	return new Memento(m_State);
}

void Originator::RestoreState(Memento* pMemento)
{
	if (NULL != pMemento)
	{
		m_State = pMemento->GetState();
	}	
}

void Originator::PrintState()
{
	std::cout << "State = " << m_State << std::endl;
}

Memento::Memento(const State& rState)
	: m_State(rState)
{

}

State Memento::GetState()
{
	return m_State;
}

void Memento::SetState(const State& rState)
{
	m_State = rState;
}

⌨️ 快捷键说明

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