st CookiesS) { return os « “Co

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

st CookiesS) { return os « “Cookies”: } }: // Классы гостей: class Bear { public: friend ostreamS operator«(ostream& os. const Bear&) { return os « “Theodore”: } }: class Boy { public: friend ostream& operator«(ostream& os. const Boy&) { return os « “Patrick”; } }: // Основной шаблон характеристик (пустой – может использоваться // для хранения базовых типов) tempiate class GuestTraits; // Специализации характеристик для типов гостей tempiate<> class GuestTraits { public: typedef CondensedMilk beverage_type; typedef Honey snack_type: }: tempiate<> class GuestTraits { public: typedef Milk beverage_type: typedef Cookies snack_type: }: #endif // BEARCORNERJ //: C05:BearCorner.h // Использование классов характеристик #include #include “BearCorner.h” using namespace std; // Нестандартный класс характеристик 230 Глава 5 • Шаблоны class MixedUpTraits { public: typedef Milk beverage_type: typedef Honey snack_type: }: // Шаблон гостя (использует класс характеристик) template< class Guest, class traits = GuestTraits > class BearCorner { Guest theGuest; typedef typename tr


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