C++ 范围解析运算符 ::
作用一:
作用域符号 :: 的前面一般是类的名称,后面一般是该类的成员名称,C++为了避免不同的类有相同的名称的成员而采用作用域的方式进行区别
如 : A,B表示两个类,在A,B中都有成员member。那么:
A::member 就表示类A中的成员member
B::member 就表示类B中的成员member
作用二:
全局作用域符号:当全局变量在局部函数中与某个变量重名,那么就可以用 :: 来区别。
如:
int jmz = 2; //全局变量
int main()
{
int jmz = 3; //局部变量
jmz = jmz* jmz;//局部=局部*局部
::jmz = ::jmz* jmz;//全局=全局*局部
cout << jmz << endl;
cout << ::jmz << endl;
}
作用三:
:: 是C++中的“作用域分解运算符”。比如声明了一个类,类里面声明了一个成员函数,但没有在类的声明力给出它的定义,那么在类外定义它时,就要写成 void 类名 :: 函数名(),表示这个函数时这个类的成员函数;
如:
class Box {
public:
double length;
double width;
double height;
void setLength(double len);
void setWidth(double wid);
};
void Box::setLength(double len){
length = len;
}
void Box::setWidth(double wid){
width = wid;
}