#ifndef SECTION5A
#define SECTION5A

class IntArrayList {
public:
  IntArrayList();
  IntArrayList(size_t capacity);
  IntArrayList(const IntArrayList& rhs);
  IntArrayList(const int* const arr, size_t len);
  ~IntArrayList();

  size_t len() const;

  IntArrayList& operator=(const IntArrayList& rhs);
  void operator+=(const IntArrayList& other);
  void operator+=(int n);

  int& operator[](size_t indx);

  friend std::ostream& operator<<(std::ostream& ostr, IntArrayList& rhs);
private:
  void resize(size_t cap);
  int* arr_;
  size_t capacity_;
  size_t len_;
};







#endif