- Used in C++ Struct
struct MyStruct { int member_a; };
如果有變數 MyStruct s,那麼對於其中成員的取用為:
MyStruct s; s.member_a = 1;
如果是採用指標方法存取,譬如 MyStruct * ps,那麼相對的存取方式必須使用箭號:
MyStruct * ps; ps->member_a = 1;
- Used in C++ Class
class MyClass { public: int ca_var; int add(int a); };
當宣告為一般型態時 MyClass CA,就使用點(.)來存取Class中的成員:
MyClass CA; CA.add(0);左邊為 Class變數
當宣告為指標型態時 MyClass * CA,就使用箭號(->)來存取Class中的成員:
MyClass * pCA; pCA->add(0);左邊為 Class指標
雙冒號(::)只用在Class成員函式或Class成員變數中:
class MyClass { public: int ca_var; int add(int a); int add(int a, int b); };
在實作這個add()這個函式時必須這樣描述:
int MyClass::add(int a, int b) { return a + b; }
此外,雙冒號也常常使用在當前Class內部,對目前Class內部變數元素進行表示:
int MyClass::add(int a) { return a + ::ca_var; }用於表示目前Class的內部變量ca_var。
0 意見:
張貼留言