C++类的静态成员使用示例
#include <stdio.h>
class test
{
public:
static void fun1(void)
{
printf("a=%d\n",a);
printf("fun1\n");
}
void fun2(void)
{
printf("fun2\n");
}
public:
static int a;
int b;
};
int test::a=0; // 类外面初始化
int main(void)
{
printf("test\n");
test tt,uu;
tt.b=1;
tt.fun1();
tt.fun2();
printf("a=%d\n",test::a); //访问方式1;
printf("a=%d\n",tt.a); // 访问方式2;
printf("b=%d\n",tt.b);
tt.a+=1;
uu.a+=3;
printf("a in tt and uu =%d, %d\n",tt.a,uu.a); //静态成员是共有的
return 0;
}
上述示例的运行结果如下:
静态成员属于类而不是某个对象,换句话说,静态成员是类的所有对象共有的。
注意两点:
1.静态成员的初始化
2.静态成员的访问方式