#include "stdio.h"
template <typename T, int SIZE>
class array
{
T data_[SIZE];
array (const array& other);
const array& operator = (const array& other);
public:
array(){};
T& operator[](int i) {return data_[i];}
const T& get_elem (int i) const {return data_[i];}
void set_elem(int i, const T& value) {data_[i] = value;}
operator T*() {return data_;}
};
void main(void)
{
array<int, 10> intArray;
int i = 0;
for (i=0; i<10; i++)
{
intArray.set_elem(i, i*10);
}
for (i=0; i<10; i++)
{
printf("intArray.get_elem(%d) = %d\n", i, intArray.get_elem(i));
}
}