这个符号是什么意思?
AirlineTicket::AirlineTicket()
答案 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就像是您班级的命名空间。您必须在构造函数的实现中使用它。