Ma non ti conviene definire un costruttore di copia anche per TipoPuntatore ?
così poi nel costruttore di copia di Prova basta che fai

codice:
Prova::Prova(const Prova& da_copiare){
   mPuntatore = new TipoPuntatore(*da_copiare.mPuntatore);
}