C++中如何访问类变量

bud*_*ddy 6 c++ variables class

在c++中是否可以在不创建对象的情况下访问其他类中的类变量。我尝试使用静态,但另一个类无法识别我的变量。我有3节课。其中两个应该使用 sae 变量。在第三堂课中我正在改变价值观。如果您能提供帮助,我将不胜感激。也许你有一个例子。

Alo*_*ave 7

class Myclass
{

    public:
         static int i;
};

int Myclass::i = 10;


class YourClass
{

    public:
        void doSomething()
        {
             Myclass::i = 10;  //This is how you access static member variables
        }

};

int main()
{
    YourClass obj;
    obj.doSomething();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)


Fre*_*abe 5

static这里是正确的关键字:

class A {
public:
  static int i; // <-- this is a class variable
};

class B {
public:
  void f() { A::i = 3; } // <-- this is how you access class variables
};
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一潜在问题是

  1. 您将类变量设置为protectedor private,从而使其无法从其他代码访问。
  2. 您忘记指定类变量的完整范围(A::在本例中为 with )。