Mega Code Archive

 
Categories / C++ / Class
 

Template class with type parameter

#include <iostream> #include <stdlib.h> using namespace std; const int SIZE = 10; template <class T> class MyClass {    T a[SIZE];  public:    MyClass(void)     {       int i;       for(i=0; i<SIZE; i++)          a[i] = i;     }    T &operator[](int i); }; template <class T> T &MyClass<T>::operator[](int i) {    if(i<0 || i> SIZE-1)     {       cout << endl << "Index value of ";       cout << i << " is out of bounds." << endl;     }    return a[i]; } int main(void) {    MyClass<int> int_array;    MyClass<double> double_array;    int i;    cout << "Integer array: ";    for(i=0; i<SIZE; i++)       int_array[i] = i;    for(i=0; i<SIZE; i++)       cout << int_array[i] << " ";    cout << endl;    cout << "Double array: ";    cout.precision(2);    for(i=0; i<SIZE; i++)       double_array[i] = (double)i/3;    for(i=0; i<SIZE; i++)       cout << double_array[i] << " ";    cout << endl;    int_array[12] = 100;                 // Calls overloaded array operator }