用法:
1.全局作用域符号。当全局变量与局部变量重名时,使用域作用符可以将两者区分开来;比如:
int num = 1;
void increase() {
int num = 0;
num ++; //改变的是局部变量num = 1;
::num++; //改变的是全局变量num = 2;
}
2.类作用域符号。不同类可能具有相同的变量名称,C++为了区分不同类的变量使用类作用域符。用法:
类名 ::变量名;
3.命名空间作用域符号。类似于类作用域符号。由于使用的对象是在命名空间中定义的,因此使用时必须相应地说明。比如:
std :: cin;
std :: cout;
//这里cin,与cout都是在 namespace std中定义的,外部不能直接访问。
4.在继承机制中的使用。
a.在派生类中恢复成员的访问级别。比如:
class B { public: int num; };
class A :private B {
public:
**using B :: num;**
};
b.覆盖虚函数机制。显示调用特定的虚函数版本。比如:
class A {
public:
virtual int func1() {}
};
class B :public A {
public:
int func1() {}
};
//下面为使用时代码
B example;
example.A :: func1();
//使用域作用符显式调用基类中的虚函数版本