-1

如果我有

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

2 回答 2

1

如果你正在尝试实现 Vector(),你可以这样做:

template<class T> Vector<T>::Vector(const Vector<T>& bla)
{
    ...
}

如果您尝试使用 Vector(),您可以这样做:

Vector<SomeTypeHere> vec1;
Vector<SomeTypeHere> vec2(vec1);
于 2014-03-25T22:20:53.617 回答
0

如果你做的一切正确,Vector<type> v(args)应该自动调用看起来像构造函数的东西。要使用其他功能:

v.myFunc();

静态函数:

Vector<type>::mystaticfunc();
于 2014-03-25T22:21:28.257 回答