gen_safe.cpp
Upload User: dq031136
Upload Date: 2022-08-08
Package Size: 802k
Code Size: 1k
Development Platform:

C++ Builder

  1. #include <iostream.h>
  2. #include "stdlib.h"
  3. const int SIZE = 10;
  4. template <class AType> class atype {
  5.    AType a[SIZE];
  6.  public:
  7.    atype(void)
  8.     {
  9.       int i;
  10.       for(i=0; i<SIZE; i++)
  11.          a[i] = i;
  12.     }
  13.    AType &operator[](int i);
  14.  };
  15. template <class AType> AType &atype<AType>::operator[](int i)
  16.  {
  17.    if(i<0 || i> SIZE-1)
  18.     {
  19.       cout << endl << "Index value of ";
  20.       cout << i << " is out of bounds." << endl;
  21.     }
  22.    return a[i];
  23.  }
  24. void main(void)
  25.  {
  26.    atype<int> int_array;
  27.    atype<double> double_array;
  28.    int i;
  29.    cout << "Integer array: ";
  30.    for(i=0; i<SIZE; i++)
  31.       int_array[i] = i;
  32.    for(i=0; i<SIZE; i++)
  33.       cout << int_array[i] << " ";
  34.    cout << endl;
  35.    cout << "Double array: ";
  36.    cout.precision(2);
  37.    for(i=0; i<SIZE; i++)
  38.       double_array[i] = (double)i/3;
  39.    for(i=0; i<SIZE; i++)
  40.       cout << double_array[i] << " ";
  41.    cout << endl;
  42.    int_array[12] = 100;                 // Calls overloaded array operator
  43.  }