Sappiamo che la funzione clone fa una shallow copy dell'oggetto che si vuole creare.
Se ho un oggetto O1, che come attributo ha un altro oggetto O2, quando faccio una clone su O1 creando quindi l'oggetto O3 avrò la situazione che l'oggetto O2 è condiviso.

Vorrei sapere allora come fare ad avere O2 distinti: devo ridefinire clone personalmente?!?

Grazie!