// Build don't link: // GROUPS passed templates template class Vector { public: Vector(int x); ~Vector(); T& operator [] (int i); private: T* v; int sz; } ; template Vector::Vector(int x) { sz = x; v = new T (sz); } ; template Vector::~Vector() { delete [] v; } ; template T & Vector::operator [] (int i) { return v[i]; } ; int main(int, char **) { Vector intvec(3); intvec[0] = 1; intvec[1] = 2; intvec[2] = 3; for (int i = 0; i < 3; i++) intvec[i]; return 0; }