Здравствуйте, Аноним, Вы писали:
А>А>class CBase{
А>public:
А> static int a; // это - объявление статической переменной класса; пока что она нигде не определена
А>};
А>int CBase::a; // а это - ее определение
А>
А>Теперь вопрос. Почему статический член класса(int CBase::a
надо объявлять отдельно? Иначе не слинкуется.
А>Не пойму. А что компилятору самому это трудно сделать?
Не объявлять, а определять.
А когда ты пишешь
extern int a;
, ты тоже рассчитываешь, что компилятор за тебя переменную объявит?
Коспилятору вообще наплевать, что она нигде не определена.
А>Из страуструповской писанины ничё не понял
Читай до полного просветления