static的用途

来源:互联网 发布:英文文献阅读软件 编辑:程序博客网 时间:2024/05/16 14:29

书上都说,static有三个特点:隐藏、只初始化一次和限于本文件范围使用,下面我开始分析一波,在类中的使用方式。为何在类中使用,因为static不受类实例化的约束,多个实例可以共享static变量和函数,那么作用还是显而易见的,下面请看代码:

class A {    static float a;    const static int b = 30;public:    static void print() {        cout << "a= "<<a <<" b= "<<b<< endl;    }};float A::a = 1.1;const int A::b;

这里展现了static变量,const static和static函数的用法,所以大家要注意一下两点:
1)static成员变量只能在类中声明,不能进行初始化的,通俗来说就是赋值。但是可以在类外面进行定义,如:float A::a = 1.1;
2)const static成员变量比较特殊,可以在类中直接初始化,但也要在类外面进行声明,如:const int A::b;
3)static成员函数,如static void print() 只能使用static成员变量和函数,那么可以调用静态成员变量a和b了,至于普通成员变量,得用普通成员函数才可使用。普通成员函数可以访问任意成员变量和函数。

好了,今天的分析到这里了,欢迎大家关注。