当前位置:   article > 正文

C++基础学习之静态变量_c++定义静态变量

c++定义静态变量

1.在c++类的成员变量被声明为static时,称为静态成员变量,意味着它被该类的所有对象(实例)所共享。

静态成员是解决同一个类的不同对象之间的数据和函数共享问题。

静态成员是类的所有对象共享的成员,而不是某个对象的成员,它在对象中不占存储空间,是属于整个类的成员。

静态成员分为静态数据成员和静态成员函数。

2.

  1. staticint total; //声明静态成员
  2. int Student::total=0; //静态成员初始化
  3. cout<<"total:"<<Student::total<<endl<<endl; //静态成员的调用

3.a    静态数据成员

在类定义中,用关键字static修饰的数据成员称为静态数据成员。静态数据成员的值对所有对象都是一样的,如果改变它的值,则在各对象中这个数据成员的值都同时改变了。这样可以节约空间,提高效率。如果在一个函数中定义了静态变量,在函数结束时该静态变量并不释放,仍然存在并保留其值。

(1)静态属性包含在类中要封装的数据,可以由所有类的实例共享。

(2)必须在文件作用域中,对静态成员数据作一次且只能作一次定义性说明。

(3)静态数据成员必须进行初始化。在程序一开始运行时静态数据成员就必须存在,因为在程序运行中要调用,所以静态数据成员不能在任何函数内分配空间和初始化。最好在类的实现部分中完成静态数据成员的初始化。

(4)静态数据成员初始化与一般数据成员初始化不同,其格式如:<数据类型> <类名>::<静态数据成员名>=<值>;

另外,静态的数据成员不仅可以用对象名来调用,也可以用类名来调用。

3.b 

2)静态成员函数

静态成员函数的作用是为了处理静态成员数据。与静态成员数据一样,它可以由对象名来调用,也可以用类名来调用。

  静态成员函数不能直接使用非静态成员。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/469807
推荐阅读
相关标签
  

闽ICP备14008679号