template<typename T, int SIZE>
class ArrayDyn;
template<typename T, int SIZE = 2>
class insert_iterator : public iterator<T, SIZE> {
public:
insert_iterator(ArrayDyn<T, SIZE>& t) : iterator<T, SIZE>(t) {};
insert_iterator& operator=(const T p);
};
template<typename T, int SIZE>
insert_iterator<T, SIZE>& insert_iterator<T, SIZE>::operator=(const T v) {
iterator<T, SIZE>::ptr->insert(v, iterator<T, SIZE>::indice);
return *this;
}