006
12.08.2007, 20:37 Uhr
_Daniel_
|
ich hatte mir eben gedacht nachdem die ausgaben wie folgt aussieht ... :
Katze Puma wiegt: 5 Katze Puma ptr: 0x22ff70
Katze Fridolin wiegt: 5 Katze Fridolin wiegt: 6 Katze Puma wiegt: 5
Katze Ricky wiegt: 5 Katze Puma wiegt: 5 Katze Ricky ptr: 0x22ff64 Katze Ricky wiegt: 8 Katze Puma wiegt: 5
Katze Moritz wiegt: 5 Katze Moritz wiegt: 10 Katze Puma wiegt: 10 Katze Moritz wiegt: 55 Katze Puma wiegt: 55
Katze Mor wiegt: 55 Katze Mor wiegt: 15 Katze Puma wiegt: 55 Katze Puma wiegt: 20 Katze Mor wiegt: 15
da nichts verändert wurde an den ergebnissen und werten von Katze Ricky(Puma); und es heißt doch immer, wenn die werte nicht verändert werden, dann hat man eine DEEP COPY erstellt, mhhhh?
Katze Ricky wiegt: 5 Katze Puma wiegt: 5 Katze Ricky ptr: 0x22ff64 Katze Ricky wiegt: 8 Katze Puma wiegt: 5
ich hab hinterher immer geschaut ob sich der wert von Puma verändert hat, und darum dachte ich mir, weil er immer gleich geblieben ist, dass es eine DEEP KOPY ist.
> < (ich bin davon ausgegangen, dass du damit das hier >Katze *Moritz = &Puma;< gemeint > hast) hat mit Copy-Konstruktoren nichts zu tun: >Moritz<
nein, das hatte ich mir als FLACHE KOPIE vorgestellt, aber als flache kopie wird ja die initialisierung wert1=wert2 geschrieben oder, weil bei pointern ist es doch klar, dass sich die werte verändern.
ich dachte mir auch, dass wenn ich pointer habe, desshalb keine flache kopie gemacht gehört?!?
meintest du mit ressource, etwas aufn heap zu kopieren?
dank für die schnelle antwort, will einfach net so wirklich "klar" werden! hoffe noch auf nützliche antworten und das doch ein wenig besser zu verstehen |