类的静态成员变量解析说明

1、说明:

因为类的静态成员变量是所有实例共用的.所以得在类外初始化。

调用的时候可以通过对象调用,也可以通过类直接调用。

举例:

class A
{
public:
    int i;    //有默认值
};
class B
{
public:
    static int n;
    static A Aobj;
};

int B::n = 1;    //静态成员变量的初始化
A B::Aobj;       //静态成员变量的初始化(实例化)

void main()
{
    B Bobj;    //注释掉这行也能输出B::n
    printf("B::n=%d Bobj.n=%d Bobj.Aobj.i=%d\n", B::n, Bobj.n, Bobj.Aobj.i);
}

猜你喜欢

转载自blog.csdn.net/gengyiping18/article/details/48247073