Operatory dostępu do składowych: . i ->

Składnia

postfix-expression:
postfix-expression.templateZdecydowaćid-expression
postfix-expression->templateZdecydowaćid-expression

Uwagi

Operatory . dostępu do składowych i -> służą do odwoływania się do elementów członkowskich struct, unioni class typów. Wyrażenia dostępu do składowych mają wartość i typ wybranego elementu członkowskiego.

Istnieją dwie formy wyrażeń dostępu do składowych:

  1. W pierwszym formularzu postfix-expression reprezentuje wartość structtypu , classlub union i id-expression nazwij element członkowski określonego structelementu , unionlub class. Wartość operacji to wartość id-expression i jest wartością l, jeśli postfix-expression jest wartością l..

  2. W drugim formularzu postfix-expression reprezentuje wskaźnik do struct, unionlub class, i id-expression nazwij element członkowski określonego structelementu , unionlub class. Wartość jest wartością typu id-expression i jest wartością l.. Operator -> wyłusza wskaźnik. Wyrażenia e->member i (gdzie e reprezentuje wskaźnik) dają identyczne wyniki (z wyjątkiem sytuacji, gdy operatory -> lub *(*(e)).member są przeciążone).

Przykład

W poniższym przykładzie pokazano obie formy operatora dostępu do składowych.

// 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;
}
2/1/1900
2/1/2000

Zobacz też

Wyrażenia postfiksu
Wbudowane operatory, pierwszeństwo i kojarzenie języka C++
Klasy i struktury
Struktura i składowe unii