如果我有
template<class T> class Vector
public:
Vector(const Vector& bla);
如何在.h文件外使用它?
我曾尝试Vector<T>::Vector
,但这不起作用。
.h文件的某些部分
Vector();
Vector(int size, T value = T());
Vector(const Vector& vec);
~Vector();
T at(int index) const;
void set_value_at(int index, T elem) const;
); //这是同一个.h文件中的代码,但在类
之外 Vector();
Vector(int size, T value = T())
{}
Vector(const Vector& vec){}
~Vector(){}
T at(int index) const{}
void set_value_at(int index, T elem) const{}
答案 0 :(得分:1)
如果您尝试实施 Vector()
,请执行以下操作:
template<class T> Vector<T>::Vector(const Vector<T>& bla)
{
...
}
如果您尝试使用 Vector()
,请执行以下操作:
Vector<SomeTypeHere> vec1;
Vector<SomeTypeHere> vec2(vec1);
答案 1 :(得分:0)
如果你做的一切正确,Vector<type> v(args)
应该自动调用看起来像构造函数的东西。要使用其他功能:
v.myFunc();
静态功能:
Vector<type>::mystaticfunc();