016 第20章 迭代器模式

2022-07-17 03:09:14 字數 1546 閱讀 9831

簡述:

迭代器模式:提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露該物件的內部表示。

迭代器模式包括:抽象聚集類、具體聚集類、抽象迭代類、具體迭代類。

抽象聚集類:封裝乙個抽象迭代類物件。

具體聚集類:繼承自抽象聚集類。

迭代器模式:

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...