Re: template
От: Павел Кузнецов  
Дата: 22.08.04 03:25
Оценка: 2 (1) +1
KoY:

> Почему не работает? — подскажите что исправить..


Или так:
template<typename T>
class comment
{
public:
     comment(const T& _T):m_T(_T)
     {
     }
     ~comment()
     {
     }
     template<typename U>
     friend std::ostream& operator<<(std::ostream& os, const comment<U>& cmnt);
private:
     /*typename*/ const T& m_T;
};

template<typename T>
std::ostream& operator<<(std::ostream& os, const comment<T>& cmnt)
{
     return os << "// " << cmnt.m_T;
}

или так:
template<typename T>
class comment;

template<typename T>
std::ostream& operator<<(std::ostream& os, const comment<T>& cmnt);

template<typename T>
class comment
{
public:
     comment(const T& _T):m_T(_T)
     {
     }
     ~comment()
     {
     }
     friend std::ostream& operator<< <T>(std::ostream& os, const comment<T>& cmnt);
private:
     /*typename*/ const T& m_T;
};

template<typename T>
std::ostream& operator<<(std::ostream& os, const comment<T>& cmnt)
{
     return os << "// " << cmnt.m_T;
}
Posted via RSDN NNTP Server 1.9 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.