双冒号(::)用法
(1)表示“域操作符” 例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。
(2)直接用在全局函数前,表示是全局函数 例:在VC里,你可以在调用API 函数里,在API函数名前加::
(3)表示引用成员函数及变量,作用域成员运算符
例:System::Math::Sqrt() 相当于System.Math.Sqrt()
#include <iostream>
int main()
{
std::cout<<"两个冒号代码的是作用域操作符"<<std::endl;
return 0;
}
std就相当于文件夹。cout就是里面文件
::前不加空间名,是调用全局的~~
class A; class B; void A::SetCurse();表示A类里的该函数 void B::SetCurse();表示B类里的该函数
#include <iostream>
using namespace std;
int a =1;
int main()
{
int a = 3;
cout<<::a<<endl; //输出1
cout<<a<<endl; //输出3
return 0;
}
voidCMainFrame::OnMyFileNew()
{
}
::指作用域运算符,或者叫作用域限定符。 ::表示OnMyFileNew()是属于类CMainFrame的成员函数,而不是普通函数或者其它类的函数。这就限定了OnMyFileNew()的作用域,从属关系。