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

时间:2011-03-17 21:33:02

标签: c++

这个符号是什么意思?

AirlineTicket::AirlineTicket()

4 个答案:

答案 0 :(得分:32)

::是scope resolution operator - 用于限定名称。在这种情况下,它用于将类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的特定版本。

答案 1 :(得分:2)

在C ++中,::称为Scope Resolution Operator。它清楚地表明了符号所属的命名空间或类。

答案 2 :(得分:1)

它声明了一个命名空间。所以在AirlineTicket ::中你可以调用AirlineTicket类的所有公共函数,而AirlineTicket()是该命名空间中的函数(在本例中是构造函数)。

答案 3 :(得分:0)

AirlineTicket就像是您班级的命名空间。您必须在构造函数的实现中使用它。