在静态方法中设置静态成员变量



我是初学者C++,对静态成员变量和成员函数有疑问。

我已经实现了一个类,如下所示 -

class Foo
{
private:
    static int myVariable;
public:
    static void setMyVariable()
    {
        myVariable = 100;
    }
    static void resetMyVariable()
    {
        myVariable = 0;
    }
};

当我编写这样的代码时,有以下注意事项 -

  • 我只想要一个类 Foo 的实例。这就是为什么我将所有成员变量和函数设置为静态的原因。
  • 我不希望外部代码触及myVariable

我已将此类放在头文件中并包含在我的主文件中。当我这样做时,我收到一个错误undefined reference to Foo::myVariable

想知道我是否可以编写可以满足上述要求的代码?

谢谢!

你需要在某处定义静态类变量:例如,在您的主C++文件中,

int Foo::myVariable;

请注意,从技术上讲,通过使所有内容都静态,您可能没有Foo实例

相关内容

  • 没有找到相关文章