首頁  >  文章  >  後端開發  >  c++中::和.的區別

c++中::和.的區別

下次还敢
下次还敢原創
2024-04-26 15:39:131005瀏覽

C 中:: 和. 的區別

回答:
C 中的:: 和. 是兩個不同的運算符,用於存取類別成員和全域成員。

詳細解釋:

1. ::(範圍解析運算子)

  • 用於存取全域成員,包括類別外宣告的變數、函數和型別。
  • 可以用來解決命名衝突,例如當類別名稱與全域變數名稱相同。
  • 語法:::成員名稱;

2. .(成員存取運算子)

  • 用於存取類成員,包括資料成員和成員函數。
  • 必須用於從類別實例存取成員。
  • 語法:物件.成員名稱;

#:

  • 存取範圍: ::存取全域成員,. 存取類別成員。
  • 命名衝突: :: 可以解決命名衝突,. 不能。
  • 實例依賴: .必須用於從類別實例存取成員,:: 不需要。

範例:

存取全域變數:

<code class="cpp">int global_var = 10;
cout << ::global_var; //输出 10</code>

存取類別資料成員:

<code class="cpp">class MyClass {
public:
    int data_member = 20;
};

MyClass object;
cout << object.data_member; //输出 20</code>

解決命名衝突:

<code class="cpp">class MyClass {
public:
    static int global_var = 30;
};

int global_var = 40;
cout << ::MyClass::global_var; //输出 30</code>

以上是c++中::和.的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn