Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Zeigerfrage

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.09.2006, 11:51 Uhr
cmos



Hallöchen,
ich habe ein kurze Frage zu Zeigern

Was genau bedeutet es wenn ein Zeiger so in einer Klasse steht


C++:
void klasse
{
    bla bla..
    klasse* pKlasse::gibwert()
    {
         return *this;
    }
}



Und was ist der Untschied zwischen return this und return *this ?
klasse* pKlasse() ist eine Funktion mit dem Funktionstyp klasse*, richtig ?
Wann benutzt man es anstelle von "normalen" Methoden wie
int klasse::gibwert()
{
return variable;
}

?

Danke schon im vorraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.09.2006, 11:58 Uhr
0xdeadbeef
Gott
(Operator)


Ich nehme an, du meinst eher

C++:
class klasse {
  // ...
public:
  klasse *gibwert();
};

// ...

klasse *klasse::gibwert() {
  return this;
}


...dann klappts auch mit dem Compiler. gibwert ist in diesem Fall eine Methode, die einen Pointer auf ein Element des Typs Klasse zurückgibt, und in diesem Fall gibt sie this zurück - also die aufgerufene Klasse selbst. Damit sind in folgendem Beispiel:

C++:
klasse foo;
klasse *p = foo.gibwert();
klasse *q = &foo;


p und q das Selbe.

Was *this angeht, das dereferenziert den Zeiger, z.B.

C++:
class klasse {
  // ...
public:
  klasse &gibwert();
};

// ...

klasse &klasse::gibwert() {
  return *this;
}

// ...

klasse foo;
klasse &r = foo.gibwert();
klasse &s = foo;


Hier sind dann r und s das Selbe, nämlich Referenzen auf foo.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: