использование статического члена класса в файле .cpp - PullRequest
0 голосов
/ 03 апреля 2012

Я создал класс, и в публичном разделе я объявил следующее:

static int num;

и в конструкторе, который находится в том же файле .h, я сделал:

num++;

До сих пор все отлично работает.

Проблема в том, что реализация моего деструктора находится в .cpp, я написал:

num--;

Но визуальный эффект не позволит мне это сделать Кричит:

фатальная ошибка LNK1120: 1 неразрешенная внешность

Любая помощь?

1 Ответ

3 голосов
/ 03 апреля 2012

Вы должны определить вашу статическую переменную в файле * .cpp. Обычно это делается сверху. Например:

// in the *.h file
class MyClass
{
    public:
        static int num;
        MyClass();
        ~MyClass();
};

// in the *.cpp file
int MyClass::num = 0;

MyClass::MyClass()
{
    MyClass::num++;
}

MyClass::~MyClass()
{
    MyClass::num--;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...