венных функций для шаблонов. Ч
Автор admin
Четверг, 21 мая 2009 11:32
венных функций для шаблонов. Чтобы стало понятнее, давайте предположим, что мы хотим включить в шаблон класса внешние дружественные операторы. Следующий шаблон класса просто хранит обобщенное значение: tempiate class Box { T t: public: BoxCconst T& theT) : t(theT) {} }: He разобравшись в сути предыдущих примеров этого раздела, новички часто удивляются, почему им не удается заставить работать простейший оператор «. Если операторы не определяются внутри определения Box, для них необходимо предоставить опережающие объявления, как показано выше: //: С05:Вох1.срр // Определение операторов для шаблонов #include using namespace std; // Опережающие объявления tempiate class Box: tempiate Box operator+(const Box&. const Box&); tempiate ostream& operator«(ostream&. const Box&): tempiate class Box { T t; public: Box(const T& theT) : t(theT) {} Разрешение имен 225 friend Box operator+<>(const Box&. const Box&): friend ostream& operator« <>(ostream&. const Box&); }: tempiate Box operator+Cconst Box& bl. const Box& b2) { r
Комментарии закрыты.
Последние комментарии