memento.cpp

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

CPP
71
字号
//Memento.cpp
#include "Memento.h"

#include <iostream>
using namespace std;

typedef string State;

Originator::Originator() 
{ 
	_sdt = "";
    _mt = 0; 
}

Originator::Originator(const State& sdt) 
{ 
	_sdt = sdt;
	_mt = 0; 
}

Originator::~Originator() 
{
}

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

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

void Originator::SetState(const State& sdt) 
{ 
	_sdt = sdt; 
}

void Originator::PrintState() 
{ 
	cout<<this->_sdt<<"....."<<endl; 
}

void Originator::SetMemento(Memento* men) 
{
}

void Originator::RestoreToMemento(Memento* mt) 
{ 
	this->_sdt = mt->GetState();
}
//class Memento
Memento::Memento() 
{ 
}

Memento::Memento(const State& sdt) 
{ 
	_sdt = sdt; 
}

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

void Memento::SetState(const State& sdt) 
{ 
	_sdt = sdt; 
}

⌨️ 快捷键说明

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