рактеристик обычно сами оформл

Автор admin Четверг, 21 мая 2009 11:32

рактеристик обычно сами оформляются в виде шаблонов, поскольку представленные в них типы и константы рассматриваются как атрибуты параметров основного шаблона (например, char и wchar_t). В некоторых ситуациях бывает удобно связать функциональность с аргументами шаблонов, чтобы прикладной программист мог легко изменить поведение шаблона. Для примера рассмотрим новую версию BearCorner: //: C05:BearCorner2.cpp // Использование классов политик #include linclude “BearCorner.h” using namespace std; // Классы политик (должны содержать статическую функцию doActionO) Тот факт, что char_traits<>::compare() может в одном случае вызывать strcmp(), а в другом — wcscmp(), в данном случае неважен; «функциональность» вызова compare() одинакова. 232 Глава 5 • Шаблоны class Feed { public: static const char* doActionO { return “Feeding”: } }: class Stuff { public: static const char* doActionO { return “Stuffing”: } }: // Шаблон Guest (использует класс политик и класс характеристик) tempiate< class Guest, class Action. class traits - GuestTraits > class BearCorner { Guest theGuest: typedef typename trait


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