class SafeArray
{
public:
SafeArray(int s);
SafeArray(const int v[], int s);
int& operator[](int i);
int operator[](int i) const;
private:
int size;
int* values;
};
SafeArray::SafeArray(int s) : size(s), values(new int[size]) {}
SafeArray::SafeArray(const int v[], int s) : size(s)
{
values = new int[size];
for (int i = 0; i < size; i++)
values[i] = v[i];
}
int& SafeArray::operator[](int index)
{
assert((index >= 0) && (index < size));
return values[i];
}
int SafeArray::operator[](int index) const;
{
assert((index >= 0) && (index < size));
return values[i];
}