
A 4. feladatban elékszített IntVektor osztályból csinálj egy templatekkel általánosított Vector osztályt.

Fontos! A templatelt tagfüggvényeket implementációját vector.h-ba kell rakni! Vagy bele az osztályba, vagy a vector.h aljára!
Enélkül undefined reference hibákat fog dobmi a fordító!

Eddíg pl:

class IntVector {

    int get(int index);
    set(int index, int val);

    void push_back(int val);

    //etc...

    IntVector();

private:
    int *_data;
};

int main() {
    IntVector a;

    a.push_back(1);
    a.push_back(2);
    a.push_back(3);
    a.push_back(4);

    cout << a.get(1);

    a.set(1, 4);

    cout << a.get(1);

    //etc...

    return 0;
}

Most:

template <class T>
class Vector {

    T get(int index);
    set(int index, T val);

    //etc...

    Vector();

private:
    T *_data;
};

int main() {
    Vector<int> a; //Mindenhol ahol T-van, ki lessz replacelve int-re a compiler által!

    a.push_back(1);
    a.push_back(2);
    a.push_back(3);
    a.push_back(4);

    cout << a.get(1);

    a.set(1, 4);

    cout << a.get(1);

    //etc...

    //de így már lehet:
    Vector<float> b;
    Vector<string> c;

    //...

    return 0;
}
