Generic Vector : template class « template « C++ Tutorial





#include <iostream.h>
#include <math.h>
template <class T>

class Vector
{
  T * pData;
  int nSize;
  public:
    Vector(int);
    ~Vector() {delete [] pData;}
    T& operator [] (int i) {return pData[i];}
};
template <class T>
Vector <T>::Vector(int n)
{
       pData = new T[n];
    nSize = n;
};
main()
{
    Vector <int> 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 <double> 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










13.1.template class
13.1.1.class templates
13.1.2.template class Demo
13.1.3.Generic Vector
13.1.4.template class 2
13.1.5.template holder class
13.1.6.template counter
13.1.7.Calculate with SArray