类的静态变量

Posted 朱小勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的静态变量相关的知识,希望对你有一定的参考价值。

在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;
}

以上是关于类的静态变量的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记八---类的静态变量与静态方法的访问与调用方式

java中的静态变量,静态方法与静态代码块详解

MFC中静态成员函数调用其他类的非静态变量

类和类的静态变量

PHP类的静态(static)方法和静态(static)变量

java 类的方法是不是和静态变量一样只被加载一次放在栈中