簡述:
迭代器模式:提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露該物件的內部表示。
迭代器模式包括:抽象聚集類、具體聚集類、抽象迭代類、具體迭代類。
抽象聚集類:封裝乙個抽象迭代類物件。
具體聚集類:繼承自抽象聚集類。
迭代器模式:
1 #include 2 #include 3輸出結果:using
namespace
std;45
class
cobject612
};13
14//
抽象迭代器類
15class
citerator16;
2324
//抽象聚集類
25class
caggregate26;
3031
//具體聚集類
32class cconcreteaggregate : public
caggregate
3344
45int count()
4647 cobject* operator(int
nindex)
4862
63 n++;
64 ite++;65}
6667
return
pobj;68}
6970 list& getlist()
71};
7273
//具體迭代類
74class cconcreteiterator : public
citerator
7586
87virtual cobject* first()
8889
virtual cobject*next()
9098
99virtual
bool isdone()
100101
virtual cobject* currentitem()
102};
103104
//具體反向迭代類
105class
cconcreteiteratordesc : citerator
106117
118virtual cobject* first()
119120
virtual cobject*next()
121129
130virtual
bool isdone()
131132
virtual cobject* currentitem()
133};
134135
intmain()
136151
152 system("
pause");
153return0;
154 }
第20章迭代器模式
一 概念 二 uml圖 三 c 實現 lesson1.h ifndef lesson1 h define lesson1 h pragma once include include include include using namespace std class concreteaggregate...
《大話設計模式》讀書筆記 第20章 迭代器模式
1 迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。2 當需要訪問乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,就應該考慮用迭代器模式。另外,如果需要對聚集有多種方式遍歷是,也可以考慮用迭代器模式。3 迭代器模式 iterator 結構圖...
20 迭代器模式
迭代器模式 1 定義 提供一種方法訪問乙個容器物件中各個元素,而又不暴露該物件的內部細節。2 結構圖 1 iterator介面 public inte ce iterator 2 iterator實現類 public class tvchannel implements iterator priva...