hi,
Beide funktionen die du dort verwendest erstellen zwar objecte können aber jedoch nur die public members kopieren. Wobei die obere funktion noch nicht einmal ein objekt der selben klasse zurück liefert. Der Grund warum die objekte scheinber nicht geclont wurden aber trotzdem das setzen von werten an beiden objecten möglich ist liegt daran, dass die public methoden auch felder sind und somit mit kopiert wurden und die methoden des geklonten objects immer noch auf die privaten felder des original objects zeigen. D.h. alle methoden von dein geklonten sowie von deinem original object ändern nur die felder deines original objectes. eine möglich keit währe alle felder public zu machen oder eine methode zu deklarieren die salopt gesagt die klasse genaustens kennt und alle privaten felder ausliest und einem klon wieder einflöst
ich hoffe damit konnte ich dir erstmal weiterhelfen
grüsse flo