#include #include #include "SafeArray4.h" using namespace std; SafeArray::SafeArray() : elements(nullptr), length(0) { } SafeArray::SafeArray(int len) : elements(nullptr), length(len) { elements = new int[length]; } SafeArray::~SafeArray() { if (elements != nullptr) delete[] elements; } SafeArray& SafeArray::operator =(const SafeArray& rhs) { if (this == &rhs) return *this; if (elements != nullptr) delete[] elements; length = rhs.length; elements = new int[length]; for (int i = 0; i < length; i++) { elements[i] = rhs.elements[i]; } return *this; } int SafeArray::get_length() const { return length; } int SafeArray::at(int i) const { assert((i >= 0) && (i < length)); return elements[i]; } void SafeArray::set(int i, int value) { assert((i >= 0) && (i < length)); elements[i] = value; }