Question: If I have 

```
template<class T> class Vector

public:
   Vector(const Vector& bla);

```

How can I use it outside the .h file?

I´ve tried `Vector<T>::Vector` but that doesn´t work.

some part of the .h file

```
           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;

```

);
 //Here is the code in same .h file but outside the class

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

```

Answer: 
If you are trying to **implement** `Vector()`, you do it like this:

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

```

If you are trying to **use** `Vector()`, you do it like this:

```
Vector<SomeTypeHere> vec1;
Vector<SomeTypeHere> vec2(vec1);

```
If you did everything right, `Vector<type> v(args)` should automatically call what looks like the constructor. To use other functions:

```
v.myFunc();

```

Static functions:

```
Vector<type>::mystaticfunc();

```