std::vector has both size and capacity. You apparently do have member "size" too. Make use of it.
In doubleArray() you write 0 to entire new array, but then overwrite half of it with the contents of old. If you do trust the size to always point to the next unused element, then you should not need to care what the unused elements contain, i.e. no need to zero-initialize at all.
I'm not so sure "doubleArray()" is the best name. Specifically, you are doubling the array's capacity. Maybe "doubleCapacity()"?
There's really nothing egregiously wrong with the code. You should be aware that simply doubling the capacity can quickly make things hard to use. I would advocate adding a specific amount to the array each time.