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;

}

 

posted @ 2018-09-14 19:20  唯一诺  阅读(197)  评论(0编辑  收藏  举报