Operadores de acceso a miembros: . y ->

Sintaxis

postfix-expression:
postfix-expression.templateoptid-expression
postfix-expression->templateoptid-expression

Comentarios

Los operadores de acceso a miembros . y -> se usan para hacer referencia a los miembros de los tipos struct, union y class. Las expresiones de acceso a miembros tienen el valor y el tipo del miembro seleccionado.

Hay dos formas de expresiones de acceso de miembro:

  1. En la primera forma, postfix-expression representa un valor de tipo struct, class o union, y id-expression nombra a un miembro especificado struct, union o class. El valor de la operación es el de id-expression y es un valor L si postfix-expression es un valor L.

  2. En el segundo formulario, postfix-expression representa un puntero a struct, union o class, y id-expression nombra a un miembro especificado struct, union o class. El valor es el de id-expression y es un valor L. El operador -> desreferencia el puntero. Las expresiones e->member y (*(e)).member (donde e representa un puntero) producen resultados idénticos (excepto cuando se sobrecargan los operadores -> o *).

Ejemplo

En el ejemplo siguiente se muestran dos formas del operador de acceso a miembros.

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

Consulte también

Expresiones postfijo
Operadores integrados de C++, precedencia y asociatividad
Clases y structs
Miembros de estructura y de unión