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.5k
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;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题