C++之类静态成员变量和静态成员函数

1.静态成员变量必须在类外初始化

2.静态成员变量在类中不占内存字节;

3.静态成员变量,被所有的类对象共 享

class G
{public:
    static int a;  //静态成员变量
    int b;
};

int G::a = 520;   //静态成员变量初始化

int main(int argc, char * argv[]) 
{

    G ga;
    G gb;

    ga.a = 521;

 
 

    cout << gb.a << endl;      //输出结果为521,而不是520,说明静态局部变量被共享了;

    cout << sizeof(G)<<endl;    //输出结果为1

    system("pause");
    return 0;

}

 4.静态成员函数,只能访问static修饰的类成员

class G
{
public:
    static void funcc()
    {
        cout << a;    //这里只能访问a成员变量,而不能访问b成员变量
    }

public:
    static int a;
    int b;
};

int G::a = 520;

int main(int argc, char * argv[])
{
    cout << sizeof(G) << endl;

    system("pause");
    return 0;

}

猜你喜欢

转载自www.cnblogs.com/weiyouqing/p/9648412.html