Windows 7 - Visual Studio 2010
Qual'è la corretta implementazione dell'overloading per gli stream operator << e >> per una class templates?
Esempio:
codice:template <typename T> class myClass { // Overloading dell'operatore di output << friend ostream & operator<<( ostream &output, const myClass &right ); // Overloading dell'operatore di input >> friend istream & operator>>( istream &input, myClass &right ); };
Il problema è che cercando di implementarle nel .h ottengo errori di linker. Qual'è la soluzione corretta?
Inoltre perchè per i compilatore non cè differenza tra una dichiarazione del tipo:
Ed una dichiarazione del tipo:codice:template <typename T> class myClass { void funct( myClass &obj ); };
Qual'è la forma corretta? E perchè?codice:template <typename T> class myClass { void funct( myClass<T> &obj ); };
Grazie.

Rispondi quotando