Einzelnen Beitrag anzeigen

Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#2

Re: C++ mit dem Borland Builder 6. Komponentenzugriff mit .

  Alt 29. Dez 2005, 23:30
Mit . greifst du auf die Felder eines statisch instanzierten Objekts zu, mit -> greifst du auf die Felder eines dynamisch instanzierten Objekts zu. Dabei ist a->b nur eine Abkürzung von (*a).b

Code:
class KomplexeZahl
{
    float real;
    float img;
};

// statisch instanziert
KomplexeZahl zahl;
zahl.real = 1.0f;
zahl.img = 0.5f;

// dynamisch instanziert
KomplexeZahl* zahl;
zahl = new KomplexeZahl;
zahl->real = 1.0f;
zahl->img = 0.5f;
// ist das selbe wie:
(*zahl).real = 1.0f;
(*zahl).img = 0.5f;
Der Vollständigkeit halber gibt es noch zwei weitere Zugriffsoperatoren, nämlich .* und ->*, beides sogenannte "Pointer-to-Member"-Operatoren. Man greift damit nicht direkt auf ein Member der Klasse zu, sondern eben über einen Zeiger auf das Member.
Beispiel:
Code:
(pObjekt->*pFunktion)(einWert);
Dieser Code ruft die Funktion auf, auf die pFunktion zeigt, und übergibt ihr "einWert".
  Mit Zitat antworten Zitat