C++ 静态方法中的静态变量
我想创建一个共享库。 我有一个充满静态方法的类。您知道可以在静态方法中调用静态变量,所以我也创建了静态变量C++ 静态方法中的静态变量,c++,class,methods,static,C++,Class,Methods,Static,我想创建一个共享库。 我有一个充满静态方法的类。您知道可以在静态方法中调用静态变量,所以我也创建了静态变量 class TryClass{ public: static void method0(string s); static void method1(); static void method2(); private: static string name; }; method1和method2需要共享字符串名称,在
class TryClass{
public:
static void method0(string s);
static void method1();
static void method2();
private:
static string name;
};
method1
和method2
需要共享字符串名称,在method0
中设置。问题是,我应该在类之外(在源文件中)初始化字符串名称,方法如下:
string TryClass::name= "filename";
但是我需要在method0
方法中初始化它。
有什么方法可以做到这一点吗?首先,请更正您的代码,并在课堂上试用
static void method0(string s)
{
TryClass::name = "hello";
}
因此,您可以轻松地在
method1
和method2
中共享字符串名称 不清楚是什么问题。您必须在cpp中初始化它,但是method0
可以为它指定一个新值。为什么您不能在运行method0
时丢弃它已初始化的内容?上面的内容不编译,您缺少返回类型。顺便说一句,您的代码有语法错误,为什么您的类只有静态方法?(闻起来好像你在试图模仿java)修复了这个问题,也许是void
返回类型而不是string
?