#pragma once #include class ArrayT { public: ArrayT(); ArrayT(const ArrayT & other); ArrayT & operator =(const ArrayT & other); void PushBack(int); void PopBack(); int Back() const; int & At(size_t i); const int & At(size_t i) const; int & operator[](size_t i); const int & operator[](size_t i) const; size_t Size() const; private: size_t size; std::unique_ptr data; };