如果我在classA中定义一个静态变量:
static int m_val;
并初始化为
int classA::m_val = 0;
我可以直接使用m_val,以便在ClassA(或任何其他类)中访问它,或者我应该像classA :: m_val一样使用它。
答案 0 :(得分:4)
在ClassA
内,只需撰写m_val
即可。在ClassA
之外,ClassA::m_val
。
但是,m_val
在您的示例中不是const
,因此它(通常)应该是私有。在这种情况下,您不能直接从其他类访问它,而是提供一个成员函数来检索副本:
class ClassA
{
private:
static int m_val;
// ...
public:
static int GetVal();
};
实现:
int ClassA::m_val = 0;
int ClassA::GetVal()
{
return m_val;
}