vatan89 schrieb:
Was ist eine Membervariable?
Sind die in der Klasse beschriebenen Variablen. Diese liegen im Zugriffsbereich der jeweiligen Klasse und können von Objekten genutzt werden .
Das klingt etwas ungenau. Jedes Objekt hat seine eigene Instanz seiner Membervariablen. Die gehören nur ihm, da kann nur das Objekt selber dran (außer es gewährt jemandem Zugriff da drauf)
Was ist ein Memberfunktion?
[...] Meist im public deklariert.
Naja.
Wie verhält sich Membervariable zu Klasse?
Emm nun ja die Membervariable einer Klasse kann halt aufgerufen, mit dem Klassenobjekt gespeichert und verändert werden. Zudem kann man über eine andere Klasse auf diese Membervariable zugreifen.
Nein, eben nicht. Die Klasse beschreibt zwar wie die Objekte aussehen, die Klasse ist aber nur ein Bauplan, die kann selber gar nicht handeln (außer über static-Kram).
Wie verhält sich Membervariable zu Objekt?
wüsste jetzt nicht auf Anhieb, was ich anders schreiben sollte als bei der Frage davor.
So wie bei der Frage davor, aber beim Objekt passt es.
Wie verhält sich Memberfunktion zu Klasse?
Memberfunktion einer Klasse kann aufgerufen werden und die Membervariablen nutzen um Methoden durchzuführen ?
Genau. Es die Funktion wird für ein Objekt aufgerufen und kann dann Membervariablen dieses Objekts benutzen. Dies ist wohl die entscheidendste Eigenschaft, wenn du deinen Code verstehen möchtest.
Wie verhält sich Memberfunktion zu Objekt?
Das Objekt der Klasse speichert die Ergebnisse der Memberfunktion ?
Nein, überhaupt nicht. Siehe vorherige Antwort. Die Memberfunktion kann aber, sofern sie nicht const ist, Membervariablen des Objekts verändern.
class foo
{
int i;
public:
foo(int new_i): i(new_i) {}
};
Eine furchtbare Klasse.
Wie kommst du zu dieser Einschätzung?
Ich würde es ganz standardgemäß
foo myfoo (new_i);
Ja, gute Methode .
oder
foo *ptri;
ptri= i;
Oha! Völliger Unsinn³.
Oh Gott hab ich jetz viel Mist dahingeschrieben :S.
Das meiste war ok, aber das letzte absolut nicht! Ich hätte jetzt noch irgendwas mit new erwartet und dann gehoffst, dass du auch die erste Methode wählst.
So unwahrscheinlich es ist, dass meine beiden vorschläge richtig sind, würde ich wohl den zweiten wählen, weil dieser logischer aussieht :S
Nein. Erst ptri als Pointer auf foo und dann dem Pointer einen int zuweisen? Nein, wirklich nicht.