Freigeben über


Operatoren für den Memberzugriff: . und ->

postfix-expression . name 
postfix-expression –> name

Hinweise

Die Memberzugriffsoperatoren . und -> verweisen auf Member von Strukturen, Unions und Klassen. Memberzugriffsausdrücke haben den Wert und Typ des ausgewählten Members.

Es gibt zwei Arten von Memberzugriffsausdrücken:

  1. In der ersten Form stellt postfix-expression einen Wert vom Typ "struct", "class" oder "union" dar, und name gibt den Namen eines Members der angegebenen Struktur, Union oder Klasse an. Der Wert des Vorgangs entspricht name und ist ein I-Wert, wenn postfix-expression ein I-Wert ist.

  2. In der zweiten Form stellt postfix-expression einen Zeiger auf eine Struktur, Union oder Klasse dar, und name gibt den Namen eines Members der angegebenen Struktur, Union oder Klasse an. Der Wert ist ein I-Wert und entspricht name. Der Operator –> dereferenziert den Zeiger. Daher führen die Ausdrücke e**–>**member und (*e).member (wobei e einen Zeiger darstellt) zu identischen Ergebnissen (außer wenn die Operatoren –> oder * überladen werden).

Beispiel

Im folgenden Beispiel werden beide Formen des Memberzugriffsoperators dargestellt.

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

struct Date {
   Date(int i, int j, int k) : day(i), month(j), year(k){}
   int month;
   int day;
   int year;
};

int main() {
   Date mydate(1,1,1900);
   mydate.month = 2;   
   cout  << mydate.month << "/" << mydate.day
         << "/" << mydate.year << endl;

   Date *mydate2 = new Date(1,1,2000);
   mydate2->month = 2;
   cout  << mydate2->month << "/" << mydate2->day
         << "/" << mydate2->year << endl;
   delete mydate2;
}
  

Siehe auch

Referenz

Postfixausdrücke

C++-Operatoren

C++-Operatoren, Rangfolge und Assoziativität

Klassen, Strukturen und Unions

Konzepte

Struktur- und Unionmember