C++中静态成员变量如何访问?


class Tank
{
public:

    static int getCount()
    {
        return count;
    }

    static int count;//定义一个静态成员变量
};


int main(void)
{
    Tank::count = 0;

    //cout << Tank::getCount() << endl;   
    cout << Tank::count << endl;   //无法运行
    system("pause");
    return 0;
}

这段代码中,会出现链接错误,请问是哪里出错了?

clipboard.png

阅读 6.6k
3 个回答

你的初始化是不是写错了,应该是

int Tank::count = 0;
int main(void)
{
    cout << Tank::count << endl;   //无法运行
    system("pause");
    return 0;
}

初始化放main外面。

新手上路,请多包涵

看下把声明放到前面可以吗?

class Tank
{
public:

    static int getCount()
    {
        return count;
    }

    static int count;//声明一个静态成员变量
};

//定义并初始化count
int Tank::count = 0;

int main(void)
{
    
    Tank::count = 0;

    //cout << Tank::getCount() << endl;   
    cout << Tank::count << endl;   //无法运行
    system("pause");
    return 0;
}
推荐问题