// MT1Q4aMin - Smallest entirely correct Array class with policy #include #include struct rowDisplayPolicy { static std::string seperator() { return ", "; } }; struct columnDisplayPolicy { static std::string seperator() { return "\n "; } }; template class Array { public: int size() const { return Size; } Array() {} T& operator[](int n) { if(n<0 || Size<=n) throw std::exception("index out of range"); return _array[n]; } T operator[](int n) const { if(n<0 || Size<=n) throw std::exception("index out of range"); return _array[n]; } void display() const { std::cout << "\n "; for(int i=0; i&); Array& operator=(const Array&); T _array[Size]; }; int main() { double temp1[] = { 0, 0.5, 1.0, 1.5, 2.0 }; Array arr1; for(int i=0; i<5; ++i) arr1[i] = temp1[i]; arr1.display(); int temp2[] = { 1, 2, 3, 4, 5 }; Array arr2; for(int i=0; i<5; ++i) arr2[i] = temp2[i]; arr2.display(); }