|
Программирование >> Формирование пользовательского контейнера
II Выводит сумму элементов с отрицательными индексами, sum = 0; for(i = ob.getlowerboundO; i < 0; i++) sum += ob[i]; cout Sum of values with negative subscripts is: ; cout sum \n\n ; Использует алгоритм copyO для копирования одного объекта в другой. * cout Сору ob to оЬ2 using copy О algorithm. \n ; RangeArray<int> оЬ2(-5, 5, 0); copy(ob.begin(), ob.end(), ob2.beginO ) ; Использует алгоритм for each() для отображения оЬ2. cout Contents of оЬ2: \n ; for each(ob2.begin(), ob2.end(), display); cout \n\n ; Применяет алгоритм replace copy if() для удаления значений меньше 0. cout Replace values less than zero with zero.\n ; cout Put the result into ob3.\n ; RangeArray<int> оЬЗ(ob.begin(), ob.end()); В следующей строке применен объект-функция lessO и связыватель bind2ndO . replace copy if(ob.begin(), ob.end(), оЬЗ.begin(), bind2nd(less<int>0, 0), 0) ; cout Contents of оЬЗ: \n ; for each(ob3.beginO , ob3.end(), display); cout \n\n ; cout Swap ob and ob3.\n ; ob.swap(ob3) ; swap ob and оЬЗ Cout Here is ob3:\n ; for each(оЬЗ.begin(), оЬЗ.end(), display); cout endl; cout Swap again to restore.\n ; ob.swap(ob3); восстановить cout Here is оЬЗ after second swap:\n ; for each(оЬЗ.begin(), оЬЗ.end(). display); cout \n\n ; Используются функции-члены insert(). cout Element at ob[0] is ob[0] endl; cout Insert values into ob.\n ; ob.insert(ob.end0, -9999);. ob.insert(&ob[l], 99); ob.insert(&ob[-3], -99); for each(ob.begin(), ob.endO, display); cout endl; cout Element at ob[0] is ob[0] \n\n ; cout Insert -7 three times to front of pb.\n ; ob.insert(ob.begin(), 3, -7); for each(ob. begin(), ob.end(), display); cout endl; cout Element at оЬГО] is ob[0] \n\n ; Применяются функции push back() и pop back(). cout Push back the value 40 onto ob.\n ; ob.push back(40); for each(ob.begin(), ob.end(), display); cout endl; , cout Pop back two values from ob.\n ; ob.pop back(); ob.pop back(); for each(ob.begin(), ob.endO, display); cout \n\n ; Используются функции push front() и pop front(). cout Push front the value 19 onto ob.\n ; ob.push front(19); for each(ob.begin(), ob.endO, display); cout endl; cout Pop front two values from ob.\n ; ob.pop front(); ob.pop front(); , for each(ob.begin(), ob.end(), display); cout \n\n ; II Применяются функции front () и ЬаскО cout ob.frontO: ob. front О endl; cout ob.backO: ob.backO \n\n ; Используются функции eraseO. cout Erase element at 0.\n ; p = ob.erase(&ob[0]); for each(ob.begin(), ob.end(), display); cout endl; cout Element at ob[0] is ob[0] endl; cout endl; cout Erase many elements in ob.\n ; p = ob.erase(&ob[-2], &ob[3]); for each (6b. begin (), ob. end (), display); cout endl; cout Element at ob[0] is ob[0] endl; cout endl; cout Insert ob4 into ob.\n ; RangeArray<int> ob4(0, 2, 0); for(i=0; i < 3; i++) ob4[i] = i+100; ob.insert(&ob[01, ob4.beginO, ob4.end()); f or each (ob. begin О , ob. end (), display); cout endl; cout Element at ob[0]. is ob[0] endl; cout endl; cout Here is ob shown with its indices:\n ; for(i=ob.getlowerbound(); i<ob.getupperbound О; i++) cout [ i 1: ob[i] endl; cout endl; Применяется функция at О. cout Use the atO function. \n ; for(i=ob.getlowerboundО; i < ob.getupperbound(); i++) ob.at(i) = i * 11; for(i=ob.getlowerbound(); i < ob.getupperbound(); i++)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |