C++的双冒号
2015-12-27 17:14
375 查看
转载地址:
http://blog.sina.com.cn/s/blog_542bad910102vib1.html
1、
作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么
A::member就表示类A中的成员member
B::member就表示类B中的成员member
2、
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
charzhou;//全局变量
voidsleep()
{
charzhou;//局部变量
char(局部变量) = char(局部变量) *char(局部变量) ;
::char(全局变量) =::char(全局变量) *char(局部变量);
}
3、
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如
http://blog.sina.com.cn/s/blog_542bad910102vib1.html
1、
作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么
A::member就表示类A中的成员member
B::member就表示类B中的成员member
2、
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
charzhou;//全局变量
voidsleep()
{
charzhou;//局部变量
char(局部变量) = char(局部变量) *char(局部变量) ;
::char(全局变量) =::char(全局变量) *char(局部变量);
}
3、
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class CA { public : int ca_var; int add( int a, int b); int add( int a); }; //那么在实现这个函数时,必须这样书写: int CA::add( int a, int b) { return a + b; } //另外,双冒号也常常用于在类变量内部作为当前类实例的元素进行表示,比如: int CA::add( int a) { return a + ::ca_var; } //表示当前类实例中的变量ca_var。 |
相关文章推荐
- C语言实验——矩阵转置
- C语言实验——矩阵下三角元素之和
- C语言习题 输出A打头的字符串
- C语言习题折半查找
- C语言习题 折半查找
- C语言实验——数组逆序
- C语言习题5.26--文件操作3
- C语言习题5.25--文件操作2
- C语言习题5.24--文件操作1
- C语言习题5.23--利用参数宏进行角…
- C语言习题5.17--求地球表面任意两…
- C语言习题5.16--求两数的商
- C语言习题5.14--for循环画三角形
- C语言习题5.11--判断三角形
- C语言习题5.10--日期妙算星座
- C语言习题5.20--算法:汉诺塔
- C语言习题 整数转换成字符串
- C语言习题 求n阶勒让德多项式
- C语言习题 用递归方法求 f(n)
- C语言习题5.18--进制转换