C++中::的用法_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > C++中::的用法

C++中::的用法

 2013/10/30 15:13:05  bigfishyuwan  程序员俱乐部  我要评论(0)
  • 摘要:::表示作用域,和所属关系1)globalscope(全局作用域符),用法(::name)2)classscope(类作用域符),用法(class::name)3)namespacescope(命名空间作用域符),用法(namespace::name)例如:intg;classA:PPP::B{//表示B类属于PPP命名空间public:inta;inttest();staticintadd(inta,intb);}intA::test(){//表示test属于A类return0;}intA:
  • 标签:用法 c++
::表示作用域,和所属关系
1)global scope(全局作用域符),用法(::name)
2)class scope(类作用域符),用法(class::name)
3)namespace scope(命名空间作用域符),用法(namespace::name)
例如:
int g;
class A : PPP::B{//表示B类属于PPP命名空间
public:
int a;
int test();
static int add(int a,int b);
}

int A::test(){//表示test属于A类
return 0;
}

int A::add(int a,int b){
return a+b;
}

int test2(){
int a=::g; //用全局变量g
int result=A::add(a,2);//表示静态方法属于A类
return result
}




---------------------------------------
。 -> ::的不同

首先介绍一下C语言中的结构。对于一个结构来说,
struct MyStruct {
int member_a;
};
如果有个变量MyStruct s,那么使用其中的成员元素时可以用
s.member_a = 1;
如果采用指针方法访问,比如MyStruct * ps,那么同样的访问必须用箭头号:
ps->member_a = 1;

::只用在类成员函数和类成员变量中。比如,声明一个类:
class CA {
public:
static int ca_var;
static int add(int a, int b);
int add(int a);
};
那么在实现这个函数时,必须这样书写:
int CA::add(int a, int b)
{
return a + b;
}
另外,双冒号也常用于类静态方法和静态成员的调用。
int test(){
int a=CA::ca_var
return CA::add(a,2);
}




发表评论
用户名: 匿名