簡體   English   中英

“::”在C ++中意味着什么?

[英]What does the “::” mean in C++?

這個符號是什么意思?

AirlineTicket::AirlineTicket()

::是范圍解析運算符 - 用於限定名稱。 在這種情況下,它用於將類AirlineTicket與構造函數AirlineTicket()分開,形成限定名稱AirlineTicket::AirlineTicket()

無論何時你需要明確你所指的是什么,你都可以使用它。 一些樣品:

namespace foo {
  class bar;
}
class bar;
using namespace foo;

現在,您必須使用范圍解析運算符來引用特定的條形圖。

::foo::bar是一個完全限定的名稱。

::bar是另一個完全限定的名稱。 ::首先表示“全局命名空間”)

struct Base {
    void foo();
};
struct Derived : Base {
    void foo();
    void bar() {
       Derived::foo();
       Base::foo();
    }
};

這使用范圍分辨率來選擇foo的特定版本。

在C ++中, ::被稱為范圍解析運算符 它清楚地表明了符號所屬的命名空間或類。

它聲明了一個命名空間。 所以在AirlineTicket ::中你可以調用AirlineTicket類的所有公共函數,而AirlineTicket()是該命名空間中的函數(在本例中是構造函數)。

AirlineTicket就像是您班級的命名空間。 您必須在構造函數的實現中使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM