Programmieren 1 - Strukturen - Klassen - Objekte
Programmieren 1 - Strukturen - Klassen - Objekte
Programmieren 1 - Strukturen - Klassen - Objekte
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Objekte</strong> im Speicher<br />
FB Informatik<br />
Prof. Dr. R.Nitsch<br />
Jedes Objekt besitzt seine eigenen<br />
Membervariablen<br />
Speicherplatz für Membervariable wird erst<br />
bei der Objektdefinition reserviert.<br />
Memberfunktionen gibt es nur einmal pro<br />
Klasse im Speicher<br />
Das aufrufende Objekt wird den Memberfunktionen<br />
stets automatisch übergeben.<br />
Über den Membervariablennamen können die<br />
Memberfunktionen direkt lesend und<br />
schreibend auf die Membervariablen des<br />
aufrufenden Objekts zugreifen.<br />
Durch ein abschließendes const in der<br />
Deklaration einer Memberfunktion kann man<br />
dieser das Schreibrecht für die Membervariablen<br />
des aufrufenden Objekts<br />
entziehen.<br />
Objekt frac1<br />
Objekt frac2<br />
z<br />
n<br />
…<br />
z<br />
n<br />
…<br />
Adresse<br />
C000<br />
C100<br />
Read-only Memberfunktion<br />
Fraction Fraction::add(Fraction op2) const {<br />
Fraction result;<br />
z = z*op2.n+n*op2.z;<br />
Geht nicht, weil Membervariablen<br />
des aufrufen-<br />
n = n*op2.n;<br />
result.z = z*op2.n+n*op2.z;<br />
den Objekts nun vor Veränderung<br />
geschützt sind.<br />
result.n = n*op2.n;<br />
return result;<br />
}<br />
OK, weil hier nicht die<br />
Membervariablen des<br />
aufrufenden Objekts<br />
geändert werden.<br />
22.04.2013 8