青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
蝸牛的家
男兒當自強
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 48, comments - 21, trackbacks - 0
C++設計模式-Memento
意圖:
在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態,這樣以后就可將該對象恢復到原先保存的狀態
UML圖
適用:
必須保存一個對象在某一個時刻的狀態,這樣以后需要時它能恢復到先前的狀態
如果一個用接口來讓其他對象得到這些狀態,將會暴露對象的實現細節并破壞對象的封裝性
//
test.h
#include
<
string
>
typedef std::
string
STATE;
/**/
////////////////////////////////////////////////////////////////////////
//
class
Memento;
class
Originator
{
public
:
Originator(
const
STATE
&
rState) : m_State(rState)
{}
Originator()
{}
~
Originator()
{}
Memento
*
CreateMemento();
void
SetMemento(Memento
*
pMemento);
STATE GetState();
void
SetState(
const
STATE
&
rState);
void
RestoreState(Memento
*
pMemento);
void
PrintState();
private
:
STATE m_State;
}
;
//
所有函數都是私有,將Originator設置為友元用來訪問
class
Memento
{
private
:
friend
class
Originator;
Memento(
const
STATE
&
rState) : m_State(rState)
{}
//
void SetState(const STATE& rState);
STATE GetState();
STATE m_State;
}
;
//
test.cpp : Defines the entry point for the console application.
//
#include
"
stdafx.h
"
#include
<
iostream
>
#include
"
test.h
"
/**/
////////////////////////////////////////////////////////////////////////
//
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
<<
"
\n
"
;
}
STATE Memento::GetState()
{
return
m_State;
}
/**/
////////////////////////////////////////////////////////////////////////
//
int
main(
int
argc,
char
*
argv[])
{
//
創建一個原發器
Originator
*
pOriginator
=
new
Originator(
"
old state
"
);
pOriginator
->
PrintState();
//
創建一個備忘錄存放這個原發器的狀態
Memento
*
pMemento
=
pOriginator
->
CreateMemento();
//
更改原發器的狀態
pOriginator
->
SetState(
"
new state
"
);
pOriginator
->
PrintState();
//
通過備忘錄把原發器的狀態還原到之前的狀態
pOriginator
->
RestoreState(pMemento);
pOriginator
->
PrintState();
delete pOriginator;
delete pMemento;
system(
"
pause
"
);
return
0
;
}
posted on 2008-08-23 01:42
黑色天使
閱讀(390)
評論(0)
編輯
收藏
引用
所屬分類:
設計模式
只有注冊用戶
登錄
后才能發表評論。
相關文章:
decorator模式
MVC模式理解——當年給我一個browser多好(轉)
C++設計模式-趣解
C++設計模式-visitor
C++設計模式-Memento
C++模式-Iterator
C++設計模式-Observer
C++設計模式-Command
C++模式-FlyWeight
C++設計模式-ChainOfResponsibility
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2011年4月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
C\C++(8)
Hacker(1)
STL
VC&MFC(4)
操作系統(1)
多進程&多線程
流媒體開發
內存管理技術(2)
軟件工程(1)
設計模式(20)
數據結構&算法(2)
網絡開發(3)
隨筆檔案
2011年4月 (1)
2011年3月 (2)
2009年7月 (1)
2009年6月 (2)
2009年3月 (1)
2009年2月 (3)
2009年1月 (3)
2008年12月 (5)
2008年11月 (1)
2008年10月 (3)
2008年9月 (3)
2008年8月 (23)
文章檔案
2011年3月 (1)
2009年6月 (1)
2008年11月 (1)
搜索
最新評論
1.?re: C++設計模式-Observer
評論內容較長,點擊標題查看
--no7dw
2.?re: YUV格式詳細解釋與FFMPEG的關系
評論內容較長,點擊標題查看
--windsome
3.?re: 鍵盤過濾驅動源代碼
@soul
再怎么懶也應該自己實現一部分吧
--黑色天使
4.?re: 鍵盤過濾驅動源代碼[未登錄]
再怎么懶也該加上unload例程吧
--soul
5.?re: CHttpDownLoad Beta 1.0
評論內容較長,點擊標題查看
--tangxinfa
閱讀排行榜
1.?RGB、YUY2、YUYV、YVYU、UYVY與AYUV(轉)(6740)
2.?YUV格式詳細解釋與FFMPEG的關系(4346)
3.?如何檢測內存泄漏(轉)(3921)
4.?memcpy的BUG(2749)
5.?內存池技術學習筆記(2383)
評論排行榜
1.?CHttpDownLoad Beta 1.0(10)
2.?memcpy的BUG(5)
3.?事件模型SOCKET封裝(2)
4.?鍵盤過濾驅動源代碼(2)
5.?C++設計模式-Observer(1)
Copyright ©2025 黑色天使 Powered By
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久国产精品电影
|
欧美精品成人一区二区在线观看
|
亚洲第一毛片
|
欧美国产激情
|
欧美日本成人
|
久久国产精品黑丝
|
久久久久久久综合色一本
|
亚洲国产日韩在线一区模特
|
日韩视频二区
|
一区二区三区在线观看视频
|
亚洲人成绝费网站色www
|
欧美日韩亚洲一区二区
|
久久九九热re6这里有精品
|
欧美xx69
|
久久精品国产精品亚洲精品
|
欧美国产精品劲爆
|
欧美一区影院
|
欧美日韩mv
|
免费欧美在线视频
|
久久精品国产免费看久久精品
|
午夜精品久久久久久久99黑人
|
亚洲福利国产
|
亚洲一区二区三区中文字幕
|
91久久久久久久久久久久久
|
午夜精品国产
|
亚洲视频一区二区免费在线观看
|
欧美在线电影
|
亚洲综合电影一区二区三区
|
免费成人av
|
久久人人精品
|
国产精品一区久久久
|
91久久极品少妇xxxxⅹ软件
|
国产自产精品
|
亚洲在线黄色
|
亚洲一区二区精品视频
|
欧美国产1区2区
|
欧美xx视频
|
黄色成人91
|
欧美一区亚洲
|
久久gogo国模裸体人体
|
国产精品v欧美精品v日本精品动漫
|
欧美国产日韩一区二区三区
|
国产视频精品网
|
亚洲少妇自拍
|
亚洲一区二区三区乱码aⅴ
|
嫩模写真一区二区三区三州
|
久久一区精品
|
狠狠色丁香婷婷综合久久片
|
欧美亚洲综合另类
|
欧美与欧洲交xxxx免费观看
|
最新国产成人在线观看
|
在线观看欧美日韩国产
|
久久精品国产99
|
久久亚洲捆绑美女
|
黄色在线成人
|
久久中文字幕一区
|
欧美成人综合在线
|
亚洲激情电影中文字幕
|
女同一区二区
|
最新日韩中文字幕
|
一区二区三区欧美在线观看
|
欧美日韩午夜在线视频
|
aaa亚洲精品一二三区
|
亚洲午夜精品一区二区三区他趣
|
欧美视频中文在线看
|
亚洲一区二区三区久久
|
国产精品国产a
|
宅男精品导航
|
久久国产精品99久久久久久老狼
|
韩国欧美一区
|
美女国内精品自产拍在线播放
|
亚洲激情黄色
|
亚洲免费视频中文字幕
|
国产伦精品一区二区三
|
久久国产88
|
亚洲高清精品中出
|
亚洲视频电影图片偷拍一区
|
国产精品午夜电影
|
久久精品视频在线看
|
亚洲丶国产丶欧美一区二区三区
|
亚洲美女精品久久
|
国产精品久久久亚洲一区
|
亚洲欧洲av一区二区三区久久
|
久久久久久久久综合
|
91久久极品少妇xxxxⅹ软件
|
欧美三级欧美一级
|
欧美在线免费播放
|
亚洲国产小视频
|
欧美一区免费
|
亚洲美女精品久久
|
国产一区二区三区久久久久久久久
|
久久亚洲综合色
|
一区二区三欧美
|
麻豆成人综合网
|
亚洲图色在线
|
136国产福利精品导航
|
欧美视频精品在线
|
久久琪琪电影院
|
亚洲一区二区免费
|
亚洲国产精品99久久久久久久久
|
欧美一区二区三区视频免费播放
|
亚洲国产欧美在线
|
国产九色精品成人porny
|
欧美大片一区二区
|
欧美一区激情
|
一本色道久久综合亚洲精品高清
|
美女性感视频久久久
|
99精品久久久
|
欧美成人免费全部观看天天性色
|
亚洲欧美在线x视频
|
亚洲欧洲精品一区二区
|
国产一区二区毛片
|
欧美午夜电影一区
|
欧美成人精品h版在线观看
|
欧美伊人久久久久久久久影院
|
亚洲毛片视频
|
亚洲高清网站
|
欧美成年人视频
|
久久久国产精彩视频美女艺术照福利
|
美女精品网站
|
欧美一区二区三区四区视频
|
久久天天躁狠狠躁夜夜爽蜜月
|
一区二区三区日韩在线观看
|
亚洲国产一区二区在线
|
久久人91精品久久久久久不卡
|
午夜精品福利一区二区三区av
|
亚洲另类在线一区
|
亚洲电影免费在线观看
|
黄色欧美日韩
|
国内精品久久久久久久果冻传媒
|
国产精品一区二区女厕厕
|
欧美体内she精视频在线观看
|
欧美a级片网站
|
老司机免费视频一区二区三区
|
久久成人精品视频
|
欧美在线亚洲
|
久久国产精品免费一区
|
欧美一区二区高清
|
欧美一区二区成人
|
久久国产免费
|
久久精品国产亚洲一区二区三区
|
亚洲欧美日韩国产精品
|
亚洲一区二区三区高清不卡
|
亚洲一区二区三区免费观看
|
亚洲先锋成人
|
欧美亚洲在线
|
久久精品国产亚洲一区二区
|
久久久久久9
|
免费看的黄色欧美网站
|
欧美电影免费观看大全
|
欧美精品一区视频
|
欧美视频在线观看免费
|
国产精品久久午夜夜伦鲁鲁
|
国产乱子伦一区二区三区国色天香
|
国产日韩欧美中文在线播放
|
国产欧美在线观看
|
激情综合自拍
|
亚洲欧洲在线免费
|
中日韩高清电影网
|
欧美一区91
|
久久综合色88
|
欧美激情综合
|
aa级大片欧美三级
|
午夜亚洲性色视频
|
久久久五月婷婷
|
欧美精品一线
|
国产精品亚洲综合久久
|
韩国成人福利片在线播放
|
亚洲三级视频
|
亚洲欧美视频
|
久久婷婷国产综合尤物精品
|
亚洲国产精品va在线观看黑人
|
日韩视频在线永久播放
|
亚洲欧美一区二区三区在线
|
久久伊人免费视频
|
国产精品va
|
亚洲国产欧美日韩
|
午夜精品国产
|
亚洲电影免费在线
|
亚洲尤物在线
|
欧美第十八页
|
国产在线拍揄自揄视频不卡99
|
亚洲精品乱码久久久久久黑人
|
亚洲专区一区
|
牛人盗摄一区二区三区视频
|
一区二区电影免费观看
|
久久久亚洲高清
|
国产精品xnxxcom
|
亚洲高清在线播放
|
欧美亚洲视频
|
亚洲人成亚洲人成在线观看
|
欧美一区二区三区免费视
|
欧美高清视频免费观看
|
国产欧美亚洲精品
|
9国产精品视频
|
麻豆av一区二区三区
|
亚洲无限av看
|
欧美精品高清视频
|
在线观看国产欧美
|
午夜在线精品偷拍
|