成員存取運算子:。 和->
postfix-expression . name
postfix-expression –> name
備註
成員存取運算子 . 和 -> 用來參照的結構、 等位,以及類別成員。 成員存取運算式具有值和所選成員的型別。
有兩種形式的成員存取運算式:
在第一個表單中, 後置運算式 代表值的結構、 類別或等位型別,以及 名稱名稱指定的結構、 等位或類別的成員。 作業的值,就是名稱 ,如果是 l 值 後置運算式是左值。
在第二個表單中, 後置運算式 表示結構、 等位或類別的指標和 名稱名稱指定的結構、 等位或類別的成員。 值為名稱是左值。 -> 運算子取值指標。 Therefore, the expressions e**–>**member and (*e).member (其中 e 代表變數的指標) 產生相同的結果 (除非何時運算子 -> 或 * 都多載)。
範例
下列範例會示範兩種形式的成員存取運算子。
// 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;
}