Seuraavana esimerkki järjestämättömän "pakaasin" käytöstä vektorin ja templaten avulla toteutettuna:
/* LISTCLA4.CPP */
// Esimerkki Container-luokan ja iteraattorin käytöstä, BC 4.52
#include "iostream.h"
#include "classlib\bags.h"
#define VIIVA "------------------------------------------------------------\n"
/****************************************************************************/
int main(void)
{
cout << VIIVA;
TBagAsVector<char> lc;
lc.Add('a'); lc.Add('b'); lc.Add('c'); lc.Add('d');
TBagAsVectorIterator<char> lci(lc);
for (lci.Restart(); lci != 0; lci++)
cout << lci.Current() << " ";
cout << "\n" << VIIVA;
return 0;
}
Iteraattorin tarkoituksena on antaa "indeksi", jonka avulla joukon alkioita
voidaan käydä lävitse. Edellä iteraattori
lci on todella monimuotoinen:
lci++ // siirtyy seuraavaan alkioon int i = (int)lci; // palauttaa tiedon siitä, onko alkioita vielä jäljellä // 0 = ei ole, 1 = jäljellä. Tämä muunnos tulee // esimerkiksi vertailussa ( lci != 0 ) lci.current() // palauttaa lci:n kohdalla olevan alkion