1、C+双冒号:的作用 2013-10-17 15:49:00分类: C/C+1、作用域符号:的前面一般是类名称,后面一般是该类的成员名称,C+为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B 表示两个类,在 A,B 中都有成员 member。那么A:member 就表示类 A 中的成员 memberB:member 就表示类 B 中的成员 member 2、全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用:来区分如:char zhou; /全局变量void sleep()char zhou; /局部变量char(局部变量) = char(局部变量) *c
2、har(局部变量) ; :char(全局变量) =:char(全局变量) *char(局部变量); 3、:是 C+里的“作用域分解运算符”。比如声明了一个类 A,类 A 里声明了一个成员函数 voidf(),但没有在类的声明里给出 f 的定义,那么在类外定义 f 时,就要写成 voidA:f(),表示这个 f()函数是类 A 的成员函数。例如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。