Доступ к унаследованной статической закрытой переменной

Вот случай: у класса Parent есть статическое поле num_, есть статические сеттер и геттер для него. От него наследуется класс Child. Затем я создаю два объекта класса child и инициализирую поле num_ через сеттер, указывая пространство имен Child::, затем вывожу значение num_ через геттер второго. Но компоновщик выдает ошибку - неразрешенный внешний символ "private: static int Parent::num_" (?num_@Parent@@0HA).

class Parent
{
public:
    static void set_num(int num)
    {
        num_ = num;
    }
    static int get_num()
    {
        return num_;
    }
 
private:
    static int num_;
};
 
class Child : public Parent
{
 
};
 
void main()
{
    Child child1, child2;
    Child::set_num(1);
    std::cout << "num is " << child2.get_num() << std::endl;
}

Ответы (0 шт):