在C++中,采用静态成员来解决同一个类的对象共享数据的问题。类的静态成员分为静态数据成员和静态成员函数。
1. 静态数据成员
静态数据成员在一个类中只分配一次存储空间,也就是一个类的所有对象的静态数据成员共享一块存储空间。
在计数时往往使用的就是静态数据成员。
2. 静态成员函数
静态成员函数只能访问静态成员(包括静态数据成员和静态成员函数),并且静态成员的访问也要遵循类的访问控制。
静态成员函数没有隐藏的this指针参数,因为静态成员函数对静态数据成员进行操作,而静态数据成员是某类对象共享的,它们只有一个拷贝,因此,静态成员函数不需要知道某个具体对象。