//: C16:Array2.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Non-inline template definition #include "../require.h" template class Array { enum { size = 100 }; T A[size]; public: T& operator[](int index); }; template T& Array::operator[](int index) { require(index >= 0 && index < size, "Index out of range"); return A[index]; } int main() { Array fa; fa[0] = 1.414; } ///:~