これはスコープ(作用域)です。クラスの外部で静的メンバ関数を参照したい場合や、クラスの外部でメンバ関数を定義する場合に使用します。名前空間内の型や関数を使用する場合にも必要です(例:std::cout、std::cin、std::string など)。
例
class Test{
public:
Test();
static void print()
{
std::cout<<"Test"<<endl; //名前空間を使用する場合::
}
private:
int a;
};
Test::Test() : a(1) //定義時に使用する場合::
{}
Test::get(); //静的メンバ関数を使用する場合::