Operadores de acesso do membro: . e ->
postfix-expression . name
postfix-expression –> name
Comentários
Os operadores de acesso do membro . e -> são usados para fazer referência a membros de estruturas, uniões e classes. As expressões de acesso do membro têm o valor e o tipo do membro selecionado.
Há duas formas de expressões de acesso do membro:
Na primeira forma, postfix-expression representa um valor de tipo de estrutura, classe ou união e name nomeia um membro de uma estrutura, união ou classe especificada. O valor da operação é o de name e é um l-value se postfix-expression for um l-value.
Na segunda forma, postfix-expression representa um ponteiro para uma estrutura, união ou classe e name nomeia um membro de uma estrutura, união ou classe especificada. O valor é o de name e é um l-value. O operador –> removerá a referência do ponteiro. Portanto, as expressões e**–>**member e (*e).member (onde e representa um ponteiro) tem resultados idênticos (exceto quando os operadores –> ou * são sobrecarregados).
Exemplo
O exemplo a seguir demonstra as duas formas de operador de acesso do membro.
// 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;
}
Consulte também
Referência
Operadores, precedência e associatividade C++