Erklärung gesucht...
-
Hallo,
ich habe von einem Bekannten einen Quellcode bekommen, verstehe aber eine Sache nicht ganz (ein kleiner Auszug):
class Name{ private: Name *root; //Was bedeutet das? Name *next; //was bedeutet das? }
Kann mir das einer plausibel erklären?
Gruß
Alex
-
könnte der anfang eine verketten liste sein.
zeiger auf die wurzel, zeiger auf das nächste element.
-
http://tutorial.schornboeck.net/zeiger.htm
und benutz doch bitte vernünftige Topics. Die eine 1/2 der Threads hier könnte ansonsten mit "Erklärung gesucht..." anfangen und die andere 1/2 mit "HILFE! Newbie braucht dringend Hilfe"
wmfrs <-- dringend lesen!
-
Aha und wie soll er ein besseres Topic formulieren, wenn er gar nicht weiß was es ist?
-
ich weiss ja noch nichtmal, was er genau wissen will, was Pointer sind?
Er hätte das Topic ja so formulieren sollen "Was bedeutet 'Name *root;'" oder so, wär doch schonmal ein Ansatz.
Aber jetzt werden wir hier Ot
-
OK, was besseres als dieses topic ist mir nicht eingefallen.
Normalerweise kenne ich die Deklaration:int *irgendwas;
.
Aber anstelle von int (oder char...) steht hier der Name der Klasse. Mich interessiert nur was dies genau beduetet und warum hier nicht auch int *irgendwas steht.
Gruß
Alex
-
Weil es ein Zeiger auf ein Objekt dieser Klasse ist, und kein Zeiger auf ein int.
-
Danke! So langsam habe ich es verstanden!
Gruß
Alex
-
Hi,
dieses int* bedeutet Pointer auf einen int. Das heißt, wenn du einen int i = 5; hast, bedeutet int *pi = &i; , dass der Zeiger pi auf diese 5 zeigt.
Hast du jetzt eine Klasse Person, die einen Vornamen und einen Nachnamen speichert, stellt Person pers01("Tantalus", "Teutsch"); eine Instanz dieser Klasse dar. Mit Person *ppers01 = & pers01; erhälst du einen Zeiger auf dieses Objekt der Klasse.
Klasse* bedautet Pointer auf eine Instanz dieser Klasse (im günstigsten Fall).
MFG, '][' !