#include #include #include "SafeArray5.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::operator [](int i) const { assert((i >= 0) && (i < length)); return elements[i]; } int SafeArray::get_length() const { return length; }