gen_safe.cpp

来自「不错书对C++/C程序员很有用的大家不要错过.」· C++ 代码 · 共 53 行

CPP
53
字号
#include <iostream.h>
#include "stdlib.h"

const int SIZE = 10;

template <class AType> class atype {
   AType a[SIZE];
 public:
   atype(void)
    {
      int i;

      for(i=0; i<SIZE; i++)
         a[i] = i;
    }
   AType &operator[](int i);
 };

template <class AType> AType &atype<AType>::operator[](int i)
 {
   if(i<0 || i> SIZE-1)
    {
      cout << endl << "Index value of ";
      cout << i << " is out of bounds." << endl;
    }
   return a[i];
 }

void main(void)
 {
   atype<int> int_array;
   atype<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
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?