C++中双冒号::的作用浅析

时间:2022-11-13 22:28:31

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(局部变量);

总结 

以上所述是小编给大家介绍的C++中双冒号::的作用浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/yz930618/article/details/80690332