FunkieFoO
offline
Опыт:
7,159Активность: |
С++ конструктор
Я не в ладах с конструктором в С++, подскажите пожалуйста может что то случиться если я буду сначала например обьявлять переменную, а только потом в следующем операторе присваивать её нужное значение? Я где то читал что из за этого могут случиться глюки...
Подскажите, лучше использовать конструктор для инициализации значения или можно просто потом обьявить значение этой переменной...
P.S. а что если я пропишу нужное мне значение для инициализации, например int cook = 1 компилятор сам создаст нужный конструктор??? |
18.08.2009, 14:22 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
конструктор - имеется ввиду метод, вызывающийся при создании класса?
agentex добавил: Цитата:
изза этого впринципе не могут случиться глюки agentex добавил: Цитата:
эмм.. насколько я знаю для базовых типов конструкторы не вызываются, им просто отводится память |
||
18.08.2009, 14:27 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FunkieFoO
offline
Опыт:
7,159Активность: |
спс, а тоя в книге итал типа "Дети используйте конструкторы для инициализации нужных вам значений!!!", вот и подумал что могут быть какие то глюки =)
FunkieFoO добавил: Ааа, точна для цеочисленных да, они идут в память, а вот строковые значения string инициализируються конструктором... во плин не думал что этот С++ так засерит мне мозги... |
18.08.2009, 14:29 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
ну имелось ввиду иниицализации членов-данных класса. Они могут быть инициализированы до тела конструктора, таким образом:
Class::Class() : int1(0), bool1(false) { }; |
18.08.2009, 14:29 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FunkieFoO
offline
Опыт:
7,159Активность: |
Дык, эт значит что int1 будет иметь значение 0? А булинка bool1 - false?? |
18.08.2009, 14:32 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
Цитата:
ну в чистом с++ типа стринг нету, есть масив чаров agentex добавил: FunkieFoO, ага agentex добавил: токо там следи, после последней переменной запятая не ставица |
|
18.08.2009, 14:36 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FunkieFoO
offline
Опыт:
7,159Активность: |
спс, да я даж не знаю, на книге написано "Программирование на С++" вот че там читал то и знаю... ппц книга 700 страниц... прочитал пока что 200... тему мона закрыть |
18.08.2009, 14:37 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
воистину, у них имеется только размер и знак, никаких конструкторов нет вообще забудь про это, все инициализируют в конструкторах |
18.08.2009, 14:45 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
есть конструктор копирования, есть оператор присваивания - две разные вещи, которые просто выполняют схожие операции. |
18.08.2009, 16:37 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|