template class Vector { public: Vector(); Vector( const unsigned ); // throws bad_alloc Vector( const unsigned, const T& ); // throws bad_alloc Vector( const Vector & ); // throws bad_alloc ~Vector(); void assign( const unsigned, const T& ); // throws out_of_range T& at( const unsigned ) const; // throws out_of_range unsigned capacity() const; void clear(); bool empty() const; void insert( const unsigned, const T& ); // throws bad_alloc, out_of_range T& operator[]( const unsigned ) const; // throws out_of_range const Vector &operator=( const Vector& ); // throws bad_alloc void push_back( const T& ); // throws bad_alloc void resize( const unsigned, const T& = T() ); // throws bad_alloc unsigned size() const; void sort(); void remove( const unsigned ); // throws out_of_range private: T* contents; unsigned sz; unsigned cap; void increaseCapacity(); // throws bad_alloc }; // Vector class