|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.09.2013, 15:58 | #21 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
Я собствено не понял, т.к я не встричал раньше, что означает двоеточие , наподобие как тут
Код:
Блин, комплятор ругается. Я думал, что уж ,,все понял,, про классы, функции и обьекты. Код:
Пи-си. Она у меня есть только в классе! Вот Код:
Последний раз редактировалось Stilet; 08.09.2013 в 17:21. |
08.09.2013, 16:10 | #22 | ||
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Цитата:
Цитата:
Киньте нормальный код, который выдаёт ошибки. Весь. |
||
08.09.2013, 16:22 | #23 |
Форумчанин
Регистрация: 22.04.2013
Сообщений: 588
|
Простите, не надо весь Там сто строк разного путаного... Ерунды, в общем.
Русский я использую пока учусь, хотя знаю, что ,, так не принято ,, . |
08.09.2013, 17:08 | #24 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Может проблема в том, что вы русский используете для названия объектов и методов? О_о Так делать нельзя, только английский. В комментариях можно.
|
08.09.2013, 19:28 | #25 | ||
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Код:
Вобщем, блок инициализации конструктора позволяет выиграть в эффективности. Когда вы строите объект, сначла выделяется память, затем вызывается default конструктор и инициализирует начальными значениями данные-члены класса, далее вызывается ваша версия конструктора. Т.е вы ПЕРЕзаписываете (или переприсваиваете) значения данных-членов. При использовании блока инициализации конструктора, Вы, тем самым, указываете компилятору, что нужно вызвать default конструктор и проинициализировать данные-члены теми значениями, которые Вы задали в в списке инициализации. Насчет, повторного определения: компилятор такое не пропустит, как Вы уже поняли. Где-то Вы НЕСКОЛЬКО раз определили один и тот-же метод. Когда компоновщик пытается связать объявление с определением он встречает такую вещь: дано несколько определений для этого объявления и он не понимает, какое определение нужно использовать. Есть правило одного определения, которое гласит, что для каждого объявленного идентификатора должно быть предоставлено только одно определение. Код:
Цитата:
Цитата:
А именование идентификаторов на русском может ввести остальных программистов в заблуждение. Последний раз редактировалось Igor95; 08.09.2013 в 19:55. |
||
08.09.2013, 20:59 | #26 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Небольшое уточнение.
Для встроенных типов, таких как int, double и т.д. нет разницы как написать, так: Код:
Код:
Код:
Цитата:
|
|
08.09.2013, 21:12 | #27 | |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Цитата:
Cat(int someVeriable = 5); - означает, что в случае если, при создании объекта, клиент умолчит насчет переменной someVariable, то будет использоваться значение по умолчанию - 5. Блок инициализации конструкторов и значения, заданные по умолчанию - это две разные вещи, которые выполняют две разные задачи. |
|
08.09.2013, 21:25 | #28 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Код:
Код:
|
|
08.09.2013, 21:40 | #29 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
Цитата:
Вот первый случай: Код:
Вот второй случай: Код:
|
|
08.09.2013, 21:47 | #30 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
А ну, мож невнимательно прочел.
Смысл простой: лучше инитить мемберы в списках, а туловище использовать только для окончательной настройки |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прошу прощения. Но у меня опять проблема. Написал код но что то неправельно потправте меня. | Sergey 23 | Visual C++ | 2 | 15.09.2012 19:59 |
CheckBox, что-то у меня не получается... | Snekich | Microsoft Office Excel | 2 | 18.12.2011 20:12 |
Меня что, кто-то атакует? | Altera | Свободное общение | 9 | 03.10.2010 18:34 |
Меня хакнули, что делать? | Alex Cones | Свободное общение | 6 | 03.03.2010 23:14 |
что-то у меня не получается | dinozavr | Помощь студентам | 10 | 22.04.2009 21:45 |