#include template class SafeArray { public: int& operator[](int idx); private: int mValues[N]; int zeroValue; }; template int& SafeArray::operator[](int idx) { if(idx < 0 || idx >= N){ printf("NOOOOO!\n"); zeroValue = 0; return(zeroValue); } else{ return(mValues[idx]); } } int main(int argc, char* argv[]) { SafeArray<10> vals; for(int i = -2; i <= 10; i++){ vals[i] = i; } for(int i = -2; i <= 10; i++){ printf("vals[%d] = %d\n", i, vals[i]); } return(0); }