这些template写法有什么不一样?
template <calss T>
class Sampler
{
public:
void fun1(T& );
void fun2(T% );
};
template <class T>
void Sampler::fun1(T& t)
{
...
}
template <class T>
void Sampler <T> ::fun2(T& t) //有的代码这么写的 --类名后面多了 <T>
{
...
}
还有这样的:
class Sampler
{
public:
template <class T> void fun1( T&);
template <class U> void fun1( U&);
};
这又跟上面的那种定义方法有什么区别,优劣呢?
那一般又是怎么写的好呢?
|