类的静态变量

在C++类中可以定义静态成员变量(使用static声明)

1、静态成员变量属于整个类所有

2、静态成员变量的生命期不依赖任何对象

3、可以通过类名直接访问静态成员变量(设置成public),也可以通过对象名访问

4、所有对象共享类的静态成员变量

 

ps:静态成员变量需要在类外单独分配空间;静态变量处于全局数据区

#include <stdio.h>

class Test
{
private:
static int cCount;
public:
Test()
{
cCount++;
}
~Test()
{
--cCount;
}
int getCount()
{
return cCount;
}
};

int Test::cCount = 0;//在类外声明

Test gTest;

int main()
{
Test t1;
Test t2;

printf("count = %d\n", gTest.getCount());
printf("count = %d\n", t1.getCount());
printf("count = %d\n", t2.getCount());

Test* pt = new Test();

printf("count = %d\n", pt->getCount());

delete pt;

printf("count = %d\n", gTest.getCount());

return 0;
}

posted @ 2018-01-03 22:05  朱小勇  阅读(2402)  评论(0编辑  收藏  举报