适当的地方初始化静态成员变量的值

时间:2013-10-27 03:08:13

标签: c++

在构造函数类中初始化我的静态成员变量是否合适?

// CFoo.h
class CFoo
{
public:
    CFoo();
    ~CFoo();
    static std::string str;
};

// CFoo.cpp
CFoo::CFoo()
{
    str = "HELLO";
}

CFoo::~CFoo()
{
}

由于

1 个答案:

答案 0 :(得分:1)

您还没有define静态成员。您需要在CFoo.cpp中定义它。

CFoo.cpp

std::string CFoo::str;  // define str

CFoo::CFoo()

{
    str = "HELLO";  // reset str is fine
}

CFoo::~CFoo()
{
}