一、类静态数据成员

静态成员的提出是为了解决数据共享的问题。实现共享有许多方法,如:设置全局性的变量或对象是一种方法。但是,全局变量或对象是有局限性的。这一课里,我们主要讨论用类的静态成员来实现对象间的数据的共享静态数据成员在程序中只有一份复制品,由该类型的所有对象共享访问。非静态数据成员则不然,每个类对象都有自己的复制品。

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

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

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

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

intTdate:: count=0;

3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。如果静态成员是个类,那么就会调用它的构造函数。

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

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

Tdate::count


二、类静态成员函数

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

   类成员函数可以独立使用。

   可以使用类名+作用域解析符调用静态成员函数。如Tdate::staticFun();

静态成员函数为类的全部服务而不是为某一个类的具体对象服务。静态成员函数由于不是与任何的对象相联系,因此它不具有this指针。

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