одится на печать. Многие опера

Автор admin Среда, 3 июня 2009 11:32

одится на печать. Многие операции с объектами Inventory могут выполняться алгоритмом for_each(). Например, for_each() позволяет легко поднять все цены на 10 %. Однако стоит обратить внимание, что объекты Inventory не позволяют изменить значение item — программист, разработавший Inventory, решил, что так будет безопаснее. Да и кому может понадобиться изменять название товара? Но вдруг коммерческий отдел решил, что для придания товару «нового, улучшенного вида» нужно преобразовать все названия к верхнему регистру. Специалисты провели исследования, которые показали, что смена названия приведет к росту продаж (надо же коммерческому отделу хоть что-то делать…). В этой ситуации алгоритм for_each() не работает, но зато поможет алгоритм transform(): //: C06:TransformNames.cpp // Пример использования transformO #include #include #include #include #include “Inventory.h” #include “PrintSequence.h” using namespace std: struct Newlmproved { Inventory operatorO(const Inventory& inv) { return Inventory(toupper(inv.getItem()). i nv.getQuantity(). inv.getVal ueO); } }: int mainO {


Комментарии закрыты.