C++ 二元作用域运算符(::)

二元作用域运算符(::)在不同的地方有不同的含义

1,如果成员函数中定义了和类域中的变量同名的变量,则类域中的变量被块作用域中的变量隐藏。这时可以在变量名前面加类名和作用域运算符(::)访问这种隐藏变量。

eg:

class A{

private:
    int num = 2;
public:
    void func()
    {
         int num =7;
         cout<<"成员变量:"<<A::num<<endl; 
    }
};

2,可以用一元作用域运算符访问隐藏的全局变量

double a = 5.4;
int main()
{
     double a = 3.3;
     cout<<"全局变量"<<::a<<endl;
     return 0;      
}

3,定义类中声明的成员函数时可以用类名和二元作用于运算符::,将每个成员函数“绑定到”声明成员函数与数据成员的类定义上。

posted @ 2014-03-17 20:39  ShowJoy  阅读(1181)  评论(0编辑  收藏  举报