// MT1Q4b - 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: Array() : pArray(new T[Size]) {} Array(T* pT) : pArray(new T[Size]) { for(int i=0; i& arr) { if(Size != arr.size()) throw ("not same size"); pArray = new T[Size]; for(int i=0; i& operator=(const Array& arr) { if(Size != arr.size()) throw ("not same size"); if(this == &arr) return *this; pArray = new T[Size]; for(int i=0; i arr1(temp1); arr1.display(); int temp2[] = { 1, 2, 3, 4, 5 }; Array arr2(temp2); arr2.display(); std::cout << "\n copying:"; Array arr3 = arr2; arr3.display(); std::cout << "\n assigning:"; arr2 = arr3; arr2.display(); std::cout << "\n"; }