青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
蝸牛的家
男兒當(dāng)自強(qiáng)
C++博客
首頁
新文章
新隨筆
聚合
管理
posts - 48, comments - 21, trackbacks - 0
C++模式-Iterator
意圖:
提供一種方法順序訪問一個(gè)聚合對(duì)象中各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部表示
UML圖:
適用:
訪問一個(gè)聚合對(duì)象的內(nèi)容而無需暴露它的內(nèi)部表示
支持對(duì)聚合對(duì)象的多種遍歷
為遍歷不同的聚合結(jié)構(gòu)提供一個(gè)統(tǒng)一的接口
//
test.h
typedef
int
DATA;
/**/
////////////////////////////////////////////////////////////////////////
//
class
Iterater;
class
Aggregate
{
public
:
virtual
~
Aggregate()
{}
virtual
int
GetSize()
=
0
;
virtual
DATA GetItem(
int
nIndex)
=
0
;
}
;
class
Iterater
{
public
:
virtual
~
Iterater()
{}
virtual
void
First()
=
0
;
virtual
void
Next()
=
0
;
virtual
bool
IsDone()
=
0
;
virtual
DATA CurrentIter()
=
0
;
protected
:
Aggregate
*
m_pConCreateAggregate;
int
m_nIndex;
}
;
class
ConCreateAggregate :
public
Aggregate
{
public
:
ConCreateAggregate(
int
nSize);
virtual
~
ConCreateAggregate();
virtual
int
GetSize();
virtual
DATA GetItem(
int
nIndex);
private
:
int
m_nSize;
DATA
*
m_pData;
}
;
class
ConCreateIterater :
public
Iterater
{
public
:
ConCreateIterater(Aggregate
*
pAggregate);
virtual
~
ConCreateIterater()
{}
virtual
void
First();
virtual
void
Next();
virtual
bool
IsDone();
virtual
DATA CurrentIter();
}
;
//
test.cpp : Defines the entry point for the console application.
//
#include
"
stdafx.h
"
#include
<
iostream
>
#include
"
test.h
"
/**/
////////////////////////////////////////////////////////////////////////
//
ConCreateAggregate::ConCreateAggregate(
int
nSize) : m_nSize(nSize),m_pData(NULL)
{
m_pData
=
new
DATA[m_nSize];
for
(
int
i
=
0
; i
<
nSize;
++
i)
{
m_pData[i]
=
i;
}
}
ConCreateAggregate::
~
ConCreateAggregate()
{
delete []m_pData;
m_pData
=
NULL;
}
int
ConCreateAggregate::GetSize()
{
return
m_nSize;
}
DATA ConCreateAggregate::GetItem(
int
nIndex)
{
//
對(duì)外提供相同的接口,得到特定次序的值
if
(nIndex
<
m_nSize)
{
return
m_pData[nIndex];
}
else
{
return
-
1
;
}
}
ConCreateIterater::ConCreateIterater(Aggregate
*
pAggregate)
{
m_pConCreateAggregate
=
pAggregate;
m_nIndex
=
0
;
}
void
ConCreateIterater::First()
{
m_nIndex
=
0
;
}
void
ConCreateIterater::Next()
{
if
(m_nIndex
<
m_pConCreateAggregate
->
GetSize())
{
++
m_nIndex;
}
}
bool
ConCreateIterater::IsDone()
{
return
m_nIndex
==
m_pConCreateAggregate
->
GetSize();
}
DATA ConCreateIterater::CurrentIter()
{
//
間接引用此函數(shù)得到值
return
m_pConCreateAggregate
->
GetItem(m_nIndex);
}
/**/
////////////////////////////////////////////////////////////////////////
//
int
main(
int
argc,
char
*
argv[])
{
Aggregate
*
pAggregate
=
new
ConCreateAggregate(
4
);
Iterater
*
pIterater
=
new
ConCreateIterater(pAggregate);
for
(;
false
==
pIterater
->
IsDone(); pIterater
->
Next())
{
std::cout
<<
pIterater
->
CurrentIter()
<<
"
\n
"
;
}
system(
"
pause
"
);
return
0
;
}
posted on 2008-08-23 01:18
黑色天使
閱讀(583)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
設(shè)計(jì)模式
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
相關(guān)文章:
decorator模式
MVC模式理解——當(dāng)年給我一個(gè)browser多好(轉(zhuǎn))
C++設(shè)計(jì)模式-趣解
C++設(shè)計(jì)模式-visitor
C++設(shè)計(jì)模式-Memento
C++模式-Iterator
C++設(shè)計(jì)模式-Observer
C++設(shè)計(jì)模式-Command
C++模式-FlyWeight
C++設(shè)計(jì)模式-ChainOfResponsibility
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年11月
>
日
一
二
三
四
五
六
26
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
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
C\C++(8)
Hacker(1)
STL
VC&MFC(4)
操作系統(tǒng)(1)
多進(jìn)程&多線程
流媒體開發(fā)
內(nèi)存管理技術(shù)(2)
軟件工程(1)
設(shè)計(jì)模式(20)
數(shù)據(jù)結(jié)構(gòu)&算法(2)
網(wǎng)絡(luò)開發(fā)(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)
搜索
最新評(píng)論
1.?re: C++設(shè)計(jì)模式-Observer
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--no7dw
2.?re: YUV格式詳細(xì)解釋與FFMPEG的關(guān)系
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--windsome
3.?re: 鍵盤過濾驅(qū)動(dòng)源代碼
@soul
再怎么懶也應(yīng)該自己實(shí)現(xiàn)一部分吧
--黑色天使
4.?re: 鍵盤過濾驅(qū)動(dòng)源代碼[未登錄]
再怎么懶也該加上unload例程吧
--soul
5.?re: CHttpDownLoad Beta 1.0
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--tangxinfa
閱讀排行榜
1.?RGB、YUY2、YUYV、YVYU、UYVY與AYUV(轉(zhuǎn))(6739)
2.?YUV格式詳細(xì)解釋與FFMPEG的關(guān)系(4345)
3.?如何檢測內(nèi)存泄漏(轉(zhuǎn))(3921)
4.?memcpy的BUG(2747)
5.?內(nèi)存池技術(shù)學(xué)習(xí)筆記(2383)
評(píng)論排行榜
1.?CHttpDownLoad Beta 1.0(10)
2.?memcpy的BUG(5)
3.?事件模型SOCKET封裝(2)
4.?鍵盤過濾驅(qū)動(dòng)源代碼(2)
5.?C++設(shè)計(jì)模式-Observer(1)
Copyright ©2025 黑色天使 Powered By
博客園
模板提供:
滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
午夜精品久久久久久99热软件
|
国产精品一区二区在线
|
一本色道久久
|
欧美精品久久99久久在免费线
|
亚洲国产精品va在看黑人
|
激情亚洲网站
|
欧美韩日一区
|
亚洲私人影院
|
久久精品久久99精品久久
|
国内精品一区二区
|
欧美精品在线观看91
|
亚洲视频在线观看
|
久久免费视频在线
|
亚洲性视频网站
|
精品91视频
|
国产精品毛片大码女人
|
可以看av的网站久久看
|
亚洲欧美日韩一区二区在线
|
欧美成人免费观看
|
亚洲一区亚洲
|
欧美一级播放
|
影音先锋在线一区
|
国产精品白丝黑袜喷水久久久
|
欧美一区二区播放
|
亚洲精品裸体
|
欧美激情视频一区二区三区免费
|
久久精品2019中文字幕
|
最新国产精品拍自在线播放
|
国产一区深夜福利
|
国产精品一区二区女厕厕
|
欧美日韩国产亚洲一区
|
欧美激情久久久久
|
免费观看久久久4p
|
欧美jjzz
|
欧美大片一区二区三区
|
欧美激情成人在线
|
欧美激情按摩
|
欧美日韩一区二区三区在线
|
欧美日韩国产综合视频在线观看
|
激情六月综合
|
一区二区三区无毛
|
在线日本成人
|
夜夜精品视频一区二区
|
亚洲综合精品一区二区
|
亚洲一区二区在线观看视频
|
亚洲在线观看免费
|
久久国产精品久久久
|
久久九九99
|
亚洲国产午夜
|
午夜影院日韩
|
欧美电影在线观看
|
欧美系列精品
|
欧美一区影院
|
欧美va天堂
|
国产精品女主播在线观看
|
亚洲一区www
|
久久婷婷综合激情
|
日韩午夜在线观看视频
|
久久久99久久精品女同性
|
欧美日韩成人一区
|
亚洲成人自拍视频
|
午夜精品一区二区三区在线播放
|
欧美亚洲自偷自偷
|
欧美成在线视频
|
一区二区亚洲
|
久久久久久久久久久久久女国产乱
|
亚洲一级二级在线
|
欧美国产一区二区三区激情无套
|
久久精品av麻豆的观看方式
|
麻豆精品一区二区av白丝在线
|
日韩午夜在线电影
|
久久激情婷婷
|
国产日韩欧美精品一区
|
正在播放亚洲一区
|
欧美岛国激情
|
欧美中文字幕精品
|
国产欧美va欧美va香蕉在
|
亚洲淫性视频
|
亚洲午夜精品视频
|
国产精品一区二区久久久久
|
亚洲视频一区二区在线观看
|
亚洲国产精品va在线看黑人动漫
|
欧美激情亚洲一区
|
久热成人在线视频
|
亚洲欧洲精品一区二区三区不卡
|
久久久亚洲国产天美传媒修理工
|
亚洲伦理一区
|
欧美视频免费在线
|
亚洲在线播放
|
性8sex亚洲区入口
|
亚洲国产精品久久久久秋霞影院
|
久久久午夜视频
|
久久精品毛片
|
日韩视频在线你懂得
|
亚洲午夜日本在线观看
|
国产精品一区久久久
|
久久中文在线
|
欧美日韩日日夜夜
|
久久久亚洲欧洲日产国码αv
|
免费在线国产精品
|
亚洲欧美激情诱惑
|
久久久www成人免费无遮挡大片
|
99re国产精品
|
欧美专区日韩视频
|
99热精品在线
|
欧美一区永久视频免费观看
|
狠狠88综合久久久久综合网
|
亚洲精品国产精品乱码不99按摩
|
国产精品久久久久久久电影
|
久久精品亚洲精品
|
国产精品久久网
|
亚洲乱码国产乱码精品精
|
黄网站色欧美视频
|
香蕉av福利精品导航
|
在线亚洲高清视频
|
美女视频黄a大片欧美
|
欧美一区永久视频免费观看
|
最新日韩在线
|
尹人成人综合网
|
欧美一区二区在线看
|
亚洲一区二区三区精品视频
|
欧美激情第六页
|
亚洲国产黄色片
|
亚洲成在线观看
|
99这里只有精品
|
99国内精品久久
|
欧美α欧美αv大片
|
欧美不卡高清
|
亚洲电影视频在线
|
久久久青草青青国产亚洲免观
|
久久高清免费观看
|
国产欧美日本一区二区三区
|
午夜精品久久久久久久
|
午夜一区二区三区不卡视频
|
国产精品免费福利
|
亚洲永久免费精品
|
久久久久国产精品一区三寸
|
国语自产精品视频在线看抢先版结局
|
亚洲在线观看
|
欧美gay视频
|
亚洲午夜激情
|
一区二区视频在线观看
|
欧美日本二区
|
欧美伊人久久久久久午夜久久久久
|
久久综合网络一区二区
|
亚洲福利视频在线
|
亚洲免费视频在线观看
|
亚洲成人原创
|
国产精品麻豆va在线播放
|
性欧美暴力猛交69hd
|
欧美国产一区在线
|
性欧美在线看片a免费观看
|
在线欧美电影
|
国产免费亚洲高清
|
欧美日韩成人一区二区
|
欧美中文字幕在线观看
|
av成人国产
|
亚洲激情成人网
|
开元免费观看欧美电视剧网站
|
一区二区精品
|
亚洲欧洲午夜
|
在线观看久久av
|
国产日韩欧美视频在线
|
国产精品久久久久77777
|
欧美日韩精品二区
|
久热re这里精品视频在线6
|
亚洲综合精品一区二区
|
亚洲视频一区
|
欧美一级电影久久
|
欧美一区二区三区的
|
亚洲一区二三
|
香蕉免费一区二区三区在线观看
|
亚洲欧美日韩一区二区三区在线观看
|
亚洲国产精品久久久久婷婷老年
|
久久久久免费观看
|
欧美综合国产精品久久丁香
|
午夜日韩激情
|
久久女同互慰一区二区三区
|
久久一区二区三区av
|
久久综合九色99
|
欧美成人小视频
|
亚洲精品国产精品国自产在线
|
亚洲无吗在线
|
日韩午夜在线播放
|
欧美中日韩免费视频
|
免费日韩成人
|
国产精品美女久久久浪潮软件
|
国产精品99久久不卡二区
|
999亚洲国产精
|
久久狠狠亚洲综合
|
欧美激情性爽国产精品17p
|
亚洲一级网站
|
美女主播一区
|
国产亚洲精品成人av久久ww
|
亚洲国产精品一区二区www在线
|
一本一道久久综合狠狠老精东影业
|
亚洲电影欧美电影有声小说
|
中文av字幕一区
|
影音先锋亚洲电影
|
亚洲男同1069视频
|