一、类静态数据成员

        静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这里主要讨论用类的静态成员来实现对象间的数据的共享

静态数据成员的使用方法和注意事项如下:  

1、静态数据成员在定义或说明时前面加关键字static。 

2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:   

<数据类型><类名>::<静态数据成员名>=<>   

3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。  

4、引用静态数据成员时,采用如下格式:  

 <类名>::<静态成员名>

#include <stdio.h>
class A
{ 
public:
	   static int count;//定义一个静态成员用来存放类对象的个数
	    void  setcount(int k);
	   A()
	   {
		   count++;
	   }
};
   
 int A::count =0;   //设置静态成员的初值
 void A:: setcount(int k)   //设置计数变量
 {
	 this->count=k;
 }
 void main()
{     
	  A a;
	  A b;
	  printf("实例化次数%d\n",A::count);
      a.setcount(888);//通过这一句可以设置count数值,a与b共享同一个count;
	  printf("a的count为:%d\n",a.count);//对于静态的来讲,
	  //这里a.count与A::count与A.count可以互换
	  printf("b的count为:%d",b.count);
	  getchar();
}

二、类静态成员函数

    静态成员函数内不能使用非静态类成员数据。

    类成员函数可以独立使用。(不必通过对象调用成员函数,可以使用类名+作用域解析符调用静态成     员函数。如Tdate::staticFun();)

    最好把成员函数的实现放在.cpp里边,以防止重复定义。