|
Программирование >> Формирование пользовательского контейнера
Разработка пользовательского контейнера STL 351 1НгМ. ДвмбнбтраЦйабЬв i ] Iinclude <iostream> finclude ra.h using namespace std; Выводит целые числа, необходимые для алгоритма for each. void display (int v) cout v ; ) int mainO I RangeArray<int> obl(-3, 2, 0), ob2(-3, 2, 0), ob3(-4, 4, 0); int i; Присваивает obi и оЬ2 значения. for(i = -3; i < 3; i++) { obl[i] = i; ob2[i] = i; cout Contents of obi and ob2:\n ; for(i=-3; 1 < 3; i++) cout obl[i] ; cout endl; for(i=-3; i < 3; i++) cout ob2[i] ; cout \n\n ; if(Obi == ob2) cout obi == ob2\n ; if(obl != ob2) cout error\n ; Cout endl; cout Assign obl[-l] the value 99\n ; Obl[-l] = 99; cout Contents of obi are now:\n ; for(i=-3; i < 3; i++) cout obl[i] ; cout endl; if(obi == ob2) cout error\n ; if(obi != ob2) cout obi != ob2\n ; cout endl; if(obi < ob2) cout obi < ob2\n ; if(obi <= ob2) cout obi <= ob2\n ; if(obi > ob2) cout obi > ob2\n ; if(obi >= ob2) cout obi >= ob2\n ; if(ob2 < obi) cout ob2 < obl\n ; if(ob2 <= obi) cout ob2 <= obl\n ; if(ob2 > obi) cout ob2 > obl\n ; if(ob2 >= obi) cout ob2 >= obl\n ; cout endl; Сравнивает объекты разных размеров. if(ob3 != obi) cout оЬЗ != obl\n ; if(оЬЗ == obi) cout оЬЗ == obl\n ; return 0; Далее приведен вывод программы. Contents of оЫ and оЬ2: -3-2-1012 -3-2-1012 оЫ == оЬ2 Assign оЫ[-1] the value 99 Contents of obi are now: -3 -2 99 0 1 2 obi != ob2 , obi > ob2 р1стинг8.4 Сохранение объектов класса в контейнере KangeArraiy ♦include <iostream> ♦include ra.h using namespace std; class test { public: int a; testO { cout ConstructingXn ; a=0; } test(const test &o) { cout Copy Construetor\n ; a = o.a; ~test() { cout Destructing\n ; } int mainO { RangeArray<test> t(-3, 1, testO); int i; cout Original contents of t:\n ; for(i=-3; i < 2; i++) cout t[i].a ; cout endl; obi >= оЬ2 оЬ2 < obi оЬ2 < obi оЬЗ != obi В следующем примере (листинг 8.4) объекты класса запоминаются в контейнере RangeArray. Кроме ТОГО, программа демонстрирует вызов конструктора и деструктора и выполнение различных операций.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |