The first thing that jumps out at me is that the defaulted copy constructor and assignment operator aren't going to work for you.
[Edit: The second thing that jumps out at me is that local variables of member functions with the same name as member variables shadow the member variables. For instance the local variable Array in your constructor is not related to the member variable Array which remains uninitialized after the constructor execution.]