第一:静态成员变量是属于整个类的全局变量,它不但属于某个对象,普通成员变量是属于类中对象的变量,它不能被所有对象共享。
第二:静态成员变量必须在全局进行定义,而成员变量由于是属于该类某个对象的,而不是属于整个类的,因此不用在全局进行定义。
第三:在使用静态成员变量时,可以不限定为某个具体的对象,只与类名连用即可。如:A::total。
而不用A a;a.total;
第四:静态成员在没有对象之前就存在。
第五:除了静态static 数据成员外数据成员不能在类体中被显式地初始化
第六:常量的定义与非常量的定义不能混在一起
例如
class First {
int memi = 0; // 错误
double memd = 0.0; // 错误
};
第六:一般地静态数据成员在该类定义之外被初始化
第七:与全局对象一样对于静态数据成员在程序中也只能提供一个定义
第八:静态数据成员不能声明为const 或volatile
第九:静态成员变量必须在全局进行定义,静态成员的初始化,假设静态数据成员total属于类A,则在类外对其定义并初始化:
type(total的数据类型)A::total = value(初始化的值);
第二:静态成员变量必须在全局进行定义,而成员变量由于是属于该类某个对象的,而不是属于整个类的,因此不用在全局进行定义。
第三:在使用静态成员变量时,可以不限定为某个具体的对象,只与类名连用即可。如:A::total。
而不用A a;a.total;
第四:静态成员在没有对象之前就存在。
第五:除了静态static 数据成员外数据成员不能在类体中被显式地初始化
第六:常量的定义与非常量的定义不能混在一起
例如
class First {
int memi = 0; // 错误
double memd = 0.0; // 错误
};
第六:一般地静态数据成员在该类定义之外被初始化
第七:与全局对象一样对于静态数据成员在程序中也只能提供一个定义
第八:静态数据成员不能声明为const 或volatile
第九:静态成员变量必须在全局进行定义,静态成员的初始化,假设静态数据成员total属于类A,则在类外对其定义并初始化:
type(total的数据类型)A::total = value(初始化的值);