// Build don't link: class mystream; template class a { public: friend mystream& operator>> <>( mystream&, a& thea ); private: T amember; }; template mystream& operator>>( mystream& s, a& thea ); template<> mystream& operator>> ( mystream& s, a& thea ); template class a; template<> mystream& operator>> ( mystream& s, a& thea ) { thea.amember = 0; return s; }