static成员函数
- 没有this指针,不能访问其他非静态成员,但是可以访问其他静态成员
- 非静态成员函数,可以访问任意静态成员函数和静态成员变量
static 成员变量
- 必须在类外进行初始化
- 不存在某个对象中,存在静态区,为所有类对象共享(普通变量在对象创建时分配空间,销毁时释放)
- 突破类域可以访问静态成员变量
- 同样受public,protected,private限制
- 不能在声明的地方给缺省值,因为静态成员变量不属于某个对象,不走初始化列表(这里有一个例外的情况,static const int 可以在在声明的地方给缺省值)
class Date
{
//private:
public:
int year;
int month;
int day;
static int count;//在类里面声明
static const int size=1;
};
int Date::count = 0;//在类外进行初始化
int main()
{
cout << Date::count << endl;//受访问限定符限制
return 0;
}