C++中雙冒號::的作用

原文鏈接:https://www.cnblogs.com/dangeal/p/5532538.html

C++中經常使用的作用符::,作用如下:

•作用域限定符。在類體內申明函數,並在類體外定義函數時,必須在定義函數時加上類名和作用域限定符。

?

1

2

3

4

5

6

7

8

9

class MyClass{

 public:

  int num;

  int fun();//類體內申明函數

};

//類體外定義函數

int MyClass::fun(){

 return 1;

}

•靜態數據和靜態成員函數成員既可以通過對象名引用,也可以通過類名加::來引用。例如,MyClass::a。靜態成員函數的目的就是爲了操作靜態數據成員,靜態成員函數引用不了非靜態的數據成員。

?

1

2

3

4

5

class MyClass{

 private static int a;

};

//類體外引用靜態成員變量

MyClass::a;

•引用在類中定義的typedef新類型

?

1

2

3

4

class MyClass{

 public typedef int INT; //此處typedef的作用:定義類型別名

}

MyClass ::INT b;//類體外聲明一個變量

•全局作用域符號:當全局變量在局部函數中與其中某個變量重名,可用::來區分。

?

1

2

3

4

5

6

int a;//全局變量

void fun(){

 int a; //局部變量

 a(局部變量) = a(局部變量)*a(局部變量) ;

 ::a(全局變量) =::a(全局變量) *a(局部變量);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章