赞
踩
1.在c++类的成员变量被声明为static时,称为静态成员变量,意味着它被该类的所有对象(实例)所共享。
静态成员是解决同一个类的不同对象之间的数据和函数共享问题。
静态成员是类的所有对象共享的成员,而不是某个对象的成员,它在对象中不占存储空间,是属于整个类的成员。
静态成员分为静态数据成员和静态成员函数。
2.
- staticint total; //声明静态成员
-
- int Student::total=0; //静态成员初始化
-
- cout<<"total:"<<Student::total<<endl<<endl; //静态成员的调用
3.a 静态数据成员
在类定义中,用关键字static修饰的数据成员称为静态数据成员。静态数据成员的值对所有对象都是一样的,如果改变它的值,则在各对象中这个数据成员的值都同时改变了。这样可以节约空间,提高效率。如果在一个函数中定义了静态变量,在函数结束时该静态变量并不释放,仍然存在并保留其值。
(1)静态属性包含在类中要封装的数据,可以由所有类的实例共享。
(2)必须在文件作用域中,对静态成员数据作一次且只能作一次定义性说明。
(3)静态数据成员必须进行初始化。在程序一开始运行时静态数据成员就必须存在,因为在程序运行中要调用,所以静态数据成员不能在任何函数内分配空间和初始化。最好在类的实现部分中完成静态数据成员的初始化。
(4)静态数据成员初始化与一般数据成员初始化不同,其格式如:<数据类型> <类名>::<静态数据成员名>=<值>;
另外,静态的数据成员不仅可以用对象名来调用,也可以用类名来调用。
3.b2)静态成员函数
静态成员函数的作用是为了处理静态成员数据。与静态成员数据一样,它可以由对象名来调用,也可以用类名来调用。
静态成员函数不能直接使用非静态成员。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。