Также обратите внимание: не путайте между Заданием и Конструкторами. Линия:
int Something::s_nValue = 1;
Это не «присвоение» значения, это конструирование объекта. В общем, его:
ClassA Something::s_nValue(...parameters...);
C ++ допускает синтаксис стиля «назначение» для Contructors. Пример:
class A
{
public:
A(int i) { m_i = i; }
int getI() { return m_i; }
private:
int m_i;
};
class B
{
public:
static int getAI() { return a.getI(); }
private:
static A a;
};
A B::a = 2;