Freigeben über


Memberfunktionen (C++)

Klassen können Funktionen und Daten enthalten.Diese Funktionen werden als Memberfunktionen „.“ Jede nicht statische Funktion, die innerhalb einer Klassendeklaration deklariert wird, gilt als eine Memberfunktion und wird mit der ausgewählten Member aufgerufen (.-Operatoren und – >).Bei Verwendung von Memberfunktionen von anderen Memberfunktionen der gleichen Klasse aufruft, kann das Objekt und Membern Auswahl Operator nicht angegeben werden.Beispiele:

// member_functions1.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

class Point
{
public:
   short x()
   {
      return _x;
   }
   
   short y()
   {
      return _y;
   }

   void  Show()
   {
      cout << x() << ", " << y() << "\n";
   }
private:
   short _x, _y;
};

int main()
{
   Point pt;
   pt.Show();
}

Beachten Sie, dass in der Memberfunktion, Show, Aufrufe zu den anderen Memberfunktionen und xy, werden ohne Member Auswahl Operatoren erklärt.Diese Aufrufe implizit this->x() Mittel- und this->y().In Main, muss die Memberfunktion, Showunter Verwendung des Objekts pt und Member Auswahl Operators (.) ausgewählt wurden.

Die statischen Funktionen, die in einer Klasse deklariert werden, können mithilfe der ausgewählten Member aufgerufen oder Operatoren mit den vollqualifizierten Namen der Funktion angibt (z. B. Klassenname).

HinweisHinweis

Eine Funktion, die mithilfe des friend-Schlüsselworts deklariert wird, gilt nicht als Member der Klasse, in der es deklariert ist friend (obwohl er ein Member einer anderen Klasse handeln kann).Eine friend Deklaration steuert den Zugriff, die eine Funktion Nichtmitglieds Klassendaten muss.

Die folgende Klassendeklaration veranschaulicht die Memberfunktion deklariert und aufgerufen werden:

// member_functions2.cpp
class Point
{
public:
   unsigned GetX()
   {
      return ptX;
   }
   unsigned GetY()
   {
      return ptY;
   }

   void SetX( unsigned x )
   {
      ptX = x;
   }
   void SetY( unsigned y )
   {
      ptY = y;
   }

private:
    unsigned ptX, ptY;
};

int main()
{
   // Declare a new object of type Point.
   Point ptOrigin;

   // Member function calls use the . member-selection operator.
   ptOrigin.SetX( 0 );
   ptOrigin.SetY( 0 );

   // Declare a pointer to an object of type Point.
   Point *pptCurrent = new Point;
   // Member function calls use the -> member-selection operator.
   pptCurrent->SetX( ptOrigin.GetX() + 10 );
   pptCurrent->SetY( ptOrigin.GetY() + 10 );
}

Im vorherigen Code werden die Memberfunktionen des Objekts ptOrigin mit dem ausgewählten Member**.**Operators () aufgerufen.Allerdings werden die Memberfunktionen des Objekts, das von pptCurrent dargestellt wird, mithilfe des – >-Member Auswahl Operators bezeichnet.

Siehe auch

Referenz

Klassen, Strukturen und Unions