If I define a static variable in classA:
static int m_val; and initialize like
int classA::m_val = 0; Can I use directly m_val as it is in order to access it in ClassA (or any other class) or should I use it like classA::m_val.
If I define a static variable in classA:
static int m_val; and initialize like
int classA::m_val = 0; Can I use directly m_val as it is in order to access it in ClassA (or any other class) or should I use it like classA::m_val.
Inside of ClassA, just write m_val. Outside of ClassA, ClassA::m_val.
However, m_val is not const in your example, so it (typically) should be private anyway. In that case, you'd not access it directly from other classes but provide a member function to retrieve a copy:
class ClassA { private: static int m_val; // ... public: static int GetVal(); }; Implementation:
int ClassA::m_val = 0; int ClassA::GetVal() { return m_val; }