設計模式 C 迭代器模式

2022-09-14 20:39:29 字數 956 閱讀 9207

//

sejimoshi.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

#include

#include

using

namespace

std;

class

student

long

getid()

intgetage()

void setname(string

name)

void setage(int

age)

void setid(long

id)

student(

string name, long id, int

age)

};//

比較函式:根據結構體裡面的整型number排序

bool

sortstuint(student m1, student m2)

//比較函式:根據結構體裡面的字串name排序

bool

comstustring(student m1, student m2)

else

}int

main()

cout

<< "

迭代器倒序遍歷\n";

list_student.sort(comstustring);

//使用begin()/end()迭代器函式對輸出list容器中的元素

for (std::list::iterator it = list_student.begin(); it != list_student.end(); ++it)

}bool

cmp_1(student x, student y)

bool

cmp_2(student x, student y)

C 設計模式 迭代器模式

迭代器模式 iterator 提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。迭代器模式結構圖 iterator迭代器抽象類 class iterator public virtual object first 0 virtual object next 0 virtual ...

C 設計模式 迭代器模式

迭代器模式 提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露其內部的結構 每一種資料結構 包括自定義 遍歷自身內部的資料方式都是不同的。但是我們又希望和常規的遍歷方式一樣呼叫,就如for和foreach一樣遍歷。想要以相同的方式遍歷不同型別的聚合物件,首先就要有乙個相同的介面方法來統一獲取,...

C 設計模式 迭代器模式

迭代器模式 iterator 提供了一種順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示。因此,當你需要訪問乙個聚焦物件,而且不管這些物件是什麼都需要遍歷的時候,就應該選擇使用迭代器模式,為了遍歷不同的聚合結構提供了如開始,下乙個,是否結束,當前哪一項等統一的介面。迭代抽象類,用於定義得到...