1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Теория по С ++.

Тема в разделе "Общие вопросы по С и С++", создана пользователем 123er4, 10 июн 2010.

  1. 123er4

    123er4 Гость

    Репутация:
    0
    Помогите плз :please: Вот вопросы:

    1) Как инициализировать переменную, являющуюся приватным статическим членом класса?

    2) Если при создании переменной программист ее явно не инициализировал, то, в некоторых случаях, компилятор сам даст ей некое, заранее известное начальное значение, а в некоторых случаях начальное значение будет непредсказуемо. От чего это зависит?

    3) Для чего применяется предварительное объявление (forward declaration) классов?
     
  2. Sekt

    Sekt Гость

    Репутация:
    0
    3) Для чего применяется предварительное объявление (forward declaration) классов?
    Для исп одним класса другого.Например для Proxi-классов.
     
  3. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    1)
    Код:
    class A
    {
    static int nStatic;
    }
    ... in cpp:
    int A::nStatic = 0;
    2) Я стандарт не читал :( но думается что она всегда неопределена. Другое дело что отдельные компиляторы по спец свитчам могут, наверное, инициализировать. Тот же VS в отладочном режиме заполняет память известным значением.

    3) Случаев много, чаще всего либо взаимное использование:
    Код:
    class CGroup;
    class CStudent
    {
    CGroup* pGroup;
    }
    
    class CGroup
    {
    CStudent* pList;
    }
    либо сокрытие реализации:
    Код:
    class CSuperClassImpl;
    class CSuperClass
    {
    // interface methods
    protected:
    CSuperClassImpl* pImpl; 
    }
     
  4. 123er4

    123er4 Гость

    Репутация:
    0
    всем спасибо, тему можно закрыть.
     
Загрузка...

Поделиться этой страницей