#ifndef SECTION5B
#define SECTION5B

#include <iostream>
class IntArrayList {
public:
  IntArrayList();
  IntArrayList(const IntArrayList& rhs);
  IntArrayList(const int* const arr, size_t size);
  IntArrayList(size_t size);
  ~IntArrayList();

  size_t size() const { return size_; }

  IntArrayList& operator=(const IntArrayList& rhs);
  int& operator[](size_t indx);
  IntArrayList& operator+=(size_t n);

  friend std::ostream& operator<<(std::ostream& ostr, IntArrayList& rhs);

private:
  int* arr_;
  size_t size_;
  size_t cap_;
};











#endif