// MT1Q4a - 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(T* pT=0) { if(pT) for(int i=0; i& arr) { if(Size != arr.size()) throw ("not same size"); for(int i=0; i& operator=(const Array& arr) { if(Size != arr.size()) throw ("not same size"); if(this == &arr) return *this; 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; arr2.display(); std::cout << "\n assigning:"; arr2 = arr3; arr2.display(); std::cout << "\n"; }