模板类T.

时间:2014-03-25 22:16:48

标签: c++ template-classes

如果我有

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{}

2 个答案:

答案 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();