C++ 静态属性
1、静态属性 在C++语言中,同一个类所定义的不同对象之间的属性都是独立的,互不 影响, 但是,当我们需要在不同的对象之间共享某些属性时,我们就需要通过定义静态属性来完成这个任务, 这样,当某个对象对静态属性进行了修改以后,其它对象调用该静态属性时就会使用到静态属性被修改后的结果。
2、静态属性的特性: 静态属性定义在类中,但需要在类外实现,即分配内存空间,因为,类只是一个类型,是不会分配内存空间, 所以,要让不同对象去共享静态成员,就需要在类外实现静态成员,这样,系统才会为静态成员分配内存空间, 从而,让不同对象可以去访问它。
3、静态成员定义的语法格式: static 类型关键字 属性名;
语法格式分析: (1)static关键字开头,说明是静态。 (2)类型关键,即C语言中的数据类型,如整形int,浮点形float等。 (3)属性名字,即成员名字,按C语言变量的命名规则定义即可。 (4)最后就是一个分号。
4、静态成员实现的语法格式: 类型关键字 类名::属性名 = 初值;
语法格式分析: (1)类型关键,即C语言中的数据类型,如整形int,浮点形float等。 (2)类名,静态成员所在类的名字。 (3)两个冒号,格式要求,不能省略。 (4)属性名。 (5)等于号,以及初值。 (6)最后就是一个分号。
5、 例子: class Human //定义了人类 { char *name; static int Count; //定义了静态属性,记录人数 Human() //构造函数 { head = 0; } };
int Human::Count = 0; //对静态属性Count分配内存空间并赋初值0; Human LS; //定义了对象LS Human ZS; //定义了对象ZS
void main() { LS.Count = 1; //LS对象调用了Count静态属性并赋值为1。 ZS.Count = 2; //ZS对象调用了Count静态属性并赋值为2。 }
例子分析: 最后,由于ZS对象调用了静态属性Count并赋值为2, 所以,当其它的对象调用静态属性 Count 时,其里面的属性值就等于2, 直到有其它对象,对Count中的值进行修改为止。
不要停留在理论学习上,尽快转到真实环境进行代码编写实践,请下载下方的训练环境。 >>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行编程训练)
|