[C con Clase] Templates y friend functions

vicente lozano vicentelozano en gmail.com
Mie Mar 25 12:14:49 CET 2009


Hola,

Estaba practicando con los templates y queria hacer un template "variable",
que pudiera representar a todos los tipos de variables y sobrecargar las
operaciones con el mismo significado que tienen, como ejercicio academico.

template <class T>
class Var
{
 T _val;
 public:
 Var(T v=0): _val(v) {}
 T getVar() const;
 ...
* template <class T>*
 friend Var operator+(const Var v, const double);
 .....
}

inline T Var<T>::getVar() const { return _val;}
....
template <class T>
Var operator+(const Var v, const double d)
{
  Var<T> res( (T) ( (double)v.getVar() + d) );
return res;
}
....

Si pongo la linea subrayada me dice declaration of class T shadows template
param class T.
Si no la pongo me dice Friend declaration Var<T> operator+(const
Var<T>&,double) declares a non-template function

Seguro que tiene mas errores porque yo con lo de los templates aun estoy muy
verde, conceptualmente los entiendo pero la sintaxis me pierde.

Saludos!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090325/8b34c1f1/attachment.html>


Más información sobre la lista de distribución Cconclase