/* LISTCLA2.CPP */ /* Esimerkki Container-luokan ja iteraattorin k„yt”st„ */ #include "iostream.h" #if 1 #include "bags.h" typedef BI_BagAsVector ADTchar; typedef BI_BagAsVectorIterator ITchar; #define SIZE (2) #define LIMITS(c) 0,c.getItemsInContainer() #endif #if 0 #include "arrays.h" typedef BI_SArrayAsVector ADTchar; typedef BI_SArrayAsVectorIterator ITchar; #define SIZE (2) #define LIMITS(c) 0,c.getItemsInContainer() #endif #if 0 #include "stacks.h" typedef BI_StackAsList ADTchar; typedef BI_StackAsListIterator ITchar; #define add push #define SIZE #define LIMITS(c) #endif void tulosta(char &c,void *) { cout << c << " "; } #define VIIVA "------------------------------------------------------------\n" /****************************************************************************/ int main(void) { cout << VIIVA; ADTchar lc SIZE; ITchar lci(lc); lc.add('a'); lc.add('e'); lc.add('i'); lc.add('d'); lc.add('d'); lc.add('d'); lc.add('d'); for (lci.restart(LIMITS(lc)); lci != 0; lci++) cout << lci.current() << " "; cout << "|\n" << VIIVA; lc.forEach(tulosta,NULL); cout << "|\n" << VIIVA; // lc.printOn(cout); return 0; }