Il tuo codice si riferisce a int, il mio a char (ed è proprio la base base). Però: si, va bene.
Entrambi nel costruttore di copia allocano il relativo puntatore e copiano i dati dal puntatore della classe copiata a quella copia.
Il meccanismo base è lo stesso.