Template C++ Tutorial

#include 
#include 
template 
class Vector
{
  T * pData;
  int nSize;
  public:
    Vector(int);
    ~Vector() {delete [] pData;}
    T& operator [] (int i) {return pData[i];}
};
template 
Vector ::Vector(int n)
{
       pData = new T[n];
    nSize = n;
};
main()
{
    Vector  iV(4);
    int i;
    for ( i = 0;i < 4;i++)
       iV[i] = i*i;
    for ( i = 0;i < 4;i++)
          cout << iV[i] << "  ";
    cout << endl;
    Vector  dV(4);
    for ( i = 0; i < 4;i++)
      dV[i] = sqrt(i);
    for ( i = 0;i < 4;i++)
         cout << dV[i] << "  ";
    cout << endl;
       return 0;
}
0 1 4 9
0 1 1.41421 1.73205