Sdílet prostřednictvím


Operátory přístupu členů: . a ->

Syntaxe

postfix-expression:
postfix-expression.templateRozhodnoutid-expression
postfix-expression->templateRozhodnoutid-expression

Poznámky

Členské přístupové operátory . a -> slouží k odkazování na členy struct, uniona class typy. Výrazy členského přístupu mají hodnotu typu vybraného členu.

Existují dva typy výrazů členského přístupu:

  1. V prvním formuláři postfix-expression představuje hodnotu struct, classnebo union typ a id-expression názvy člena zadaného struct, unionnebo class. Hodnota operace je id-expression hodnota a je l-hodnota, pokud postfix-expression je l-hodnota.

  2. Ve druhém formuláři postfix-expression představuje ukazatel na , structunionnebo classnebo a id-expression pojmenovává člena zadaného struct, unionnebo class. Hodnota je id-expression hodnota a je l-hodnota. Operátor -> přeloží ukazatel. Výrazy a (kde e představuje ukazatel) poskytují identické výsledky (s výjimkou případů, kdy jsou operátory ->e->member přetížené*).(*(e)).member

Příklad

Následující příklad ukazuje obě formy operátoru pro přístup k členu.

// 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

Viz také

Výrazy přípony
Integrované operátory jazyka C++, priorita a asociativita
Třídy a struktury
Struktura a sjednocování členů