我有AnyClass和AnyMethod。我想做的是转换AnyClass< F>进入AnyClass< T>。
template<typename T>
class AnyClass
{
public:
static AnyClass<T> AnyMethod(AnyClass<F> obj);
}
例如:
AnyClass<long int> anyObject();
AnyClass<int> anyObject2 = AnyClass<int>::AnyMethod(anyObject);
我正在转换AnyClass的实例&lt; long int&gt;进入AnyClass&lt; int&gt;。我已经知道如何进行转换,但我不知道如何在AnyMethod中接受所有类型的类。
答案 0 :(得分:1)
您只需要模拟该功能:
template<typename F>
static AnyClass<T> AnyMethod(AnyClass<F> obj);
(您可能希望将obj
作为const引用传递。)
答案 1 :(得分:1)
Alan's answer很好,但对于这项工作,我认为构造函数比静态方法更合适:
template<typename T>
class AnyClass
{
public:
template<typename F>
AnyClass(AnyClass<F> obj);
}