XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
FunkieFoO

offline
Опыт: 7,159
Активность:
С++ конструктор
Я не в ладах с конструктором в С++, подскажите пожалуйста может что то случиться если я буду сначала например обьявлять переменную, а только потом в следующем операторе присваивать её нужное значение? Я где то читал что из за этого могут случиться глюки...
Подскажите, лучше использовать конструктор для инициализации значения или можно просто потом обьявить значение этой переменной...
P.S. а что если я пропишу нужное мне значение для инициализации, например
int cook = 1
компилятор сам создаст нужный конструктор???
Старый 18.08.2009, 14:22
agentex

offline
Опыт: 34,834
Активность:
конструктор - имеется ввиду метод, вызывающийся при создании класса?

agentex добавил:
Цитата:
если я буду сначала например обьявлять переменную, а только потом в следующем операторе присваивать её нужное значение? Я где то читал что из за этого могут случиться глюки...

изза этого впринципе не могут случиться глюки

agentex добавил:
Цитата:
int cook = 1
компилятор сам создаст нужный конструктор???

эмм.. насколько я знаю для базовых типов конструкторы не вызываются, им просто отводится память
Старый 18.08.2009, 14:27
FunkieFoO

offline
Опыт: 7,159
Активность:
спс, а тоя в книге итал типа "Дети используйте конструкторы для инициализации нужных вам значений!!!", вот и подумал что могут быть какие то глюки =)
FunkieFoO добавил:
Ааа, точна для цеочисленных да, они идут в память, а вот строковые значения string инициализируються конструктором... во плин не думал что этот С++ так засерит мне мозги...
Старый 18.08.2009, 14:29
agentex

offline
Опыт: 34,834
Активность:
ну имелось ввиду иниицализации членов-данных класса. Они могут быть инициализированы до тела конструктора, таким образом:

Class::Class() :
int1(0),
bool1(false)
{



};
Старый 18.08.2009, 14:29
FunkieFoO

offline
Опыт: 7,159
Активность:
Дык, эт значит что int1 будет иметь значение 0? А булинка bool1 - false??
Старый 18.08.2009, 14:32
agentex

offline
Опыт: 34,834
Активность:
Цитата:
string

ну в чистом с++ типа стринг нету, есть масив чаров

agentex добавил:
FunkieFoO, ага

agentex добавил:
токо там следи, после последней переменной запятая не ставица
Старый 18.08.2009, 14:36
FunkieFoO

offline
Опыт: 7,159
Активность:
спс, да я даж не знаю, на книге написано "Программирование на С++" вот че там читал то и знаю... ппц книга 700 страниц... прочитал пока что 200... тему мона закрыть
Старый 18.08.2009, 14:37
NETRAT

offline
Опыт: 83,712
Активность:
для базовых типов конструкторы не вызываются, им просто отводится память
воистину, у них имеется только размер и знак, никаких конструкторов нет
вообще забудь про это, все инициализируют в конструкторах
Старый 18.08.2009, 14:45
ScorpioT1000
Работаем
offline
Опыт: отключен
есть конструктор копирования, есть оператор присваивания - две разные вещи, которые просто выполняют схожие операции.
Старый 18.08.2009, 16:37
Закрытая тема

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

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

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:40.