类的静态变量

朱小勇 朱小勇     2022-10-08     324

关键词:

在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 ", gTest.getCount());
printf("count = %d ", t1.getCount());
printf("count = %d ", t2.getCount());

Test* pt = new Test();

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

delete pt;

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

return 0;
}

让基类的方法使用继承类的静态成员变量......可能吗?

】让基类的方法使用继承类的静态成员变量......可能吗?【英文标题】:Havingabaseclass\'smethoduseinheritedclass\'sstaticmembervariable...possible?【发布时间】:2015-10-1919:56:26【问题描述】:基类:classSavingsAccountpublic:voidAddInterest();//addinterestt... 查看详情

如何将静态 const 变量保留为类的成员

】如何将静态const变量保留为类的成员【英文标题】:Howtokeepstaticconstvariableasamemberofaclass【发布时间】:2010-09-1307:57:14【问题描述】:我想保留一个静态const变量作为类的成员。是否可以保留以及如何初始化该变量。有人这样说... 查看详情

动态加载的类的静态成员变量

】动态加载的类的静态成员变量【英文标题】:Staticmembervariableforclassthatisdynamicallyloaded【发布时间】:2014-07-0914:13:31【问题描述】:如果我要在C++中使用dlopen之类的东西加载一些符号,而该翻译单元中的其他类有static成员变量,... 查看详情

java中静态变量与静态方法的继承(转)

...变量与静态方法说继承并不确切,静态方法与变量是属于类的方法与变量。而子类也属于超类,比如说ManageextendsEmployee,则Manage也是一个Employee,所以子类能够调用属于超类的静态变量和方法。注意,子类调用的其实就是超类的... 查看详情

c#类的初始化顺序

类在初始化时的执行顺序,依次如下:1:子类静态变量2:子类静态构造函数3:子类非静态变量4:父类静态变量5:父类静态构造函数6:父类非静态变量7:父类构造函数8:子类构造函数 对于静态变量与静态构造函数而言, 无论对一个... 查看详情

子类是不是共享 C++ 中父类的静态变量? [复制]

】子类是不是共享C++中父类的静态变量?[复制]【英文标题】:Dosub-classessharestaticvariablesofparentclassinC++?[duplicate]子类是否共享C++中父类的静态变量?[复制]【发布时间】:2012-01-0221:16:25【问题描述】:可能重复:Arestaticmembersinherit... 查看详情

c++--类的静态成员变量(代码片段)

...能在对象之间共享Q:新的需求1.统计在程序运行期间某个类的对象数目2.保证程序的安全性(不能使用全局变量)3.随时可以获取当前对象的数目代码示例#include<iostream>usingnamespacestd;classTestprivate:intmCount;publi 查看详情

java类的加载顺序和实例化顺序(demo程序)(代码片段)

...态变量和静态代码块的执行顺序System.out.println("Father类的静态变量"+num_1);System.out.println("Father类的静态代码块");//普通变量publicintnum_2=2;//匿名代码块System.out.println("Father类的普通变量="+num_2);System.out.println(&quo... 查看详情

类的加载过程和对象的创建

类的加载过程:  1、启动JVM,加载程序中需要使用的class文件。  2、在加载class文件的时候,所有的静态内容(静态成员变量,静态成员函数,静态代码块)都要加载到方法区的静态区中。  3、当类中的所有静态加载完... 查看详情

类的基础(代码片段)

类的组成面向对象是一种编程思想,而Java的设计则很好的诠释了这一概念一个类由属性、方法两部分组成类变量:类本身具有的属性类方法:类本身具有的方法实例变量:类的对象具有的属性实例方法:类的对象具有的方法类... 查看详情

jav利用反射修改类的静态变量

有Student这个类:publicclassStudent{privatestaticStringschoolName="";privatestaticStringschoolArea="";privatestaticbooleanisSetValue=false;privateStringname;privateintage;publicStringgetName(){returnname;} 查看详情

初始化类的静态(非常量)变量。

】初始化类的静态(非常量)变量。【英文标题】:initializingastatic(non-constant)variableofaclass.【发布时间】:2018-03-1414:56:40【问题描述】:我有TestMethods.h#pragmaonce//stringsandc-strings#include<iostream>#include<cstring>#include<string> 查看详情

在 C++ 中查询类的静态成员变量

】在C++中查询类的静态成员变量【英文标题】:QueryonStaticmembervariablesofaclassinC++【发布时间】:2009-04-3013:17:31【问题描述】:对不起,如果这个问题对这里的许多人来说似乎微不足道。在C++代码中有如下内容:classFoopublic:staticintb... 查看详情

类的静态成员变量及函数(二十)

...现在又有了一个新的需求:a>同级在程序运行期间某个类的对象数目;b>保证程序的安全性(不能使用全局变量);c>随时可以获取当前对象的数目。& 查看详情

jvm系列学习之--java类的初始化顺序

本文主要演示Java类的初始化顺序初始化顺序对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。实例代码publicclassInitialOrderTest{/*静... 查看详情

php类的静态(static)方法和静态(static)变量使用介绍

参考技术A在php中,访问类的方法/变量有两种方法:1.创建对象$object=newClass(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。2.直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以... 查看详情

类的静态成员变量/函数(代码片段)

新需求:#include<stdio.h>classTestprivate:intmCount;public:Test():mCount(0)mCount++;~Test()--mCount;intgetCount()returnmCount;;TestgTest;intmain()Testt1;Testt2;printf("co 查看详情

c++中类的静态成员变量(代码片段)

1,成员变量的回顾:   1,通过对象名能够访问public成员变量;   2,每个对象的成员变量都是专属的;   3,成员变量不能在对象之间共享;      1,在做程序设计中,成员... 查看详情