Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2010, 20:48   #1
123er4
 
Регистрация: 10.06.2010
Сообщений: 8
По умолчанию Теория по С ++!

Нужна помощь в ответах на несколько вопросов. Помогите плз!

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

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

3) Для чего применяется предварительное объявление (forward declaration) классов?
123er4 вне форума Ответить с цитированием
Старый 10.06.2010, 23:25   #2
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
Сообщение от 123er4 Посмотреть сообщение
Нужна помощь в ответах на несколько вопросов. Помогите плз!

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

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

3) Для чего применяется предварительное объявление (forward declaration) классов?
1 )
конструктор()
: переменная( значение ){
...
}
google - список инициализации
2 )
от фазы луны и компилятора, лучше сразу ноль присваивать
3 )
для удобства чтения и написания программ =)
P.S. читайте Страуструпа для ознакомления с языком.
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 10.06.2010, 23:55   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

1.
Код:
class Test {
    static int x;
};

int Test::x = 1;
2. статические переменные инициализируются нулём, остальные мусором
3. для использования класса до его объявления, например
Код:
class A;

class B {
     A a;
};

class A {
 ...
};
netrino вне форума Ответить с цитированием
Старый 11.06.2010, 00:13   #4
123er4
 
Регистрация: 10.06.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
2. статические переменные инициализируются нулём, остальные мусором
Мусор - это типа набор всяких значений из др. прог и памяти?

И от чего это завист?

Последний раз редактировалось 123er4; 11.06.2010 в 00:17.
123er4 вне форума Ответить с цитированием
Старый 11.06.2010, 00:16   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от 123er4 Посмотреть сообщение
Мусор - это типа набор всяких значений из др. прог и памяти?
вроде того ) мусор - неинициализрованная память, то бишь имеющая неизвестное значение
netrino вне форума Ответить с цитированием
Старый 12.06.2010, 16:45   #6
123er4
 
Регистрация: 10.06.2010
Сообщений: 8
По умолчанию

тему можно закрыть
123er4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Теория по паскалю pavel42 Помощь студентам 1 30.05.2010 14:45
Теория вероятностей Emi Свободное общение 8 22.09.2009 03:16
С++. Теория графов curly182 Общие вопросы C/C++ 3 28.05.2009 23:14
Теория вероятности joga Microsoft Office Excel 14 13.10.2008 20:21