Программирование >>  Формирование пользовательского контейнера 

1 ... 112 113 114 [ 115 ] 116 117 118 ... 156


Разработка пользовательского контейнера 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. Кроме ТОГО, программа демонстрирует вызов конструктора и деструктора и выполнение различных операций.



1 ... 112 113 114 [ 115 ] 116 117 118 ... 156

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика