Если у меня есть
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{}
Если вы пытаетесь воплощать в жизнь Vector()
, вы делаете это так:
template<class T> Vector<T>::Vector(const Vector<T>& bla)
{
...
}
Если вы пытаетесь использование Vector()
, вы делаете это так:
Vector<SomeTypeHere> vec1;
Vector<SomeTypeHere> vec2(vec1);
Если ты все сделал правильно, Vector<type> v(args)
должен автоматически вызывать то, что выглядит как конструктор. Чтобы использовать другие функции:
v.myFunc();
Статические функции:
Vector<type>::mystaticfunc();