Как правильно динамически увеличить размер массива?
не используйте в С++ memcpy, сделайте конструктор копирования.
запоминаешь указатель на текущее начало
и с помощью realloc выделяешь память и указываешь ему нашуказатель