|
13 / 13 / 11
Регистрация: 03.09.2011
Сообщений: 1,026
|
|
Вопрос про конструктор класса по умолчанию29.10.2011, 18:32. Показов 6159. Ответов 50
Метки нет (Все метки)
http://s2.ipicture.ru/uploads/... AtbNYV.jpg
Пункт первый не могу немного понять.Т.е получается,что всегда лучше создавать самому конструктор класса ? Не по теме: Ппц,как так можно книги выпускать.Сплошные опечатки,пропуски букв,не полный перевод комментариев...
0
|
|
| 29.10.2011, 18:32 | |
|
Ответы с готовыми решениями:
50
Конструктор класса не видит конструктор по умолчанию другого класса Для класса не существует конструктор по умолчанию
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 30.10.2011, 16:43 | |
|
Bers, Почему снаружи? Инициализация с вызовом конструктора, принимающего аргумент типа std::initializer_list<T>.
Кстати да. О птичках текущего стандарта. http://liveworkspace.org/code/... 20e588dbf4
0
|
|
|
Заблокирован
|
||
| 30.10.2011, 16:45 | ||
|
запускает конструктор с тремя параметрами, или как? Я так подозреваю, что сначала выполняется инициализация данных членов класса (список инициализации), а потом уже запускается конструктор без параметров. Не?
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 30.10.2011, 16:52 | |
|
Jupiter, Это с какого барабана?
http://liveworkspace.org/code/... 69ac87707b Хотя вообще да. Что это я. Ты прав. Добавлено через 3 минуты Bers, Конструктор принимающий initializer_list запускается.
0
|
|
|
Заблокирован
|
|
| 30.10.2011, 16:53 | |
|
0
|
|
|
Каратель
|
|||||||||||
| 30.10.2011, 16:54 | |||||||||||
|
инициализация объектов при создании через оператор равно
а на счет
0
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 30.10.2011, 16:55 | |
|
Bers, Объект такой. initializer_list<T>. Из нового стандарта.
Добавлено через 39 секунд Jupiter, Да. ты прав. delete говорит, что функции нет в классе.
0
|
|
|
Заблокирован
|
||||||||
| 30.10.2011, 17:01 | ||||||||
То есть {1,2,3} неявно создаёт временный объект типа CL, у которого данные члены инициализируются списком инициализации 1,2,3. Потом с конструируется при помощи копирующего конструктора . Конечно, на деле происходит что-то совершенно непонятное. Данные-члены инициализируются снаружи класса, а потом запускается конструктор с параметрами. Как это вообще все понимать?
0
|
||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 30.10.2011, 17:06 | |
|
Bers, Если в классе есть конструктор принимающий список инициализации его можно инициализировать так как я показал. Это есть во всех стандартных контейнерах уже.
Суть. Класс initializer_list<T> имеет конструктор, который не является explicit. В итоге при написании Cl c = {1,2,3} происходит следующее. Из {1,2,3} конструируется объект типа initializer_list<int> затем вызывается конструктор класса Cl, принимающий объект этого типа, выполняется конструирование объекта и затем этот только что созданный объект копируется в нашу переменную c. delete тоже фишка из нового стандарта. Советую ознакомиться. Как никак он уже оффициально принят.
0
|
|
|
Заблокирован
|
|
| 30.10.2011, 17:16 | |
|
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 30.10.2011, 17:18 | ||||||
0
|
||||||
|
Заблокирован
|
||
| 30.10.2011, 17:25 | ||
|
0
|
||
|
Заблокирован
|
||
| 30.10.2011, 17:28 | ||
|
Ладно, проще просто прошмуглить, что за std::initializer_list<int> такой. Однозначно, я не вижу его практическую пользу. По-моему, ток запутывает.
0
|
||
|
Заблокирован
|
||
| 30.10.2011, 17:28 | ||
|
Неявно объявленный компилятором конструктор по умолчанию не инициализирует фундментальные типы!
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||
| 30.10.2011, 17:32 | |||||||
|
Сыроежка,
Добавлено через 42 секунды Bers, Нуу...
0
|
|||||||
|
Заблокирован
|
||
| 30.10.2011, 17:34 | ||
|
А самое главное посмотрите, чем агрегаты отличаются от POD структур! Когда это выучите, то не будете писать всякий бред!
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 30.10.2011, 17:36 | |
|
Сыроежка, Читать учись. Второе сообщение было адресовано не тебе. И ответ был не на твой вопрос.
0
|
|
|
Заблокирован
|
||
| 30.10.2011, 17:40 | ||
|
Но дело даже не в этом. Дело в том, что идеологически, объект конструируется согласно заданным параметрам. И не может быть сконструирован как то "не по правилам". Тем более, когда заходит речь о конструкторах, важно что бы последние были безопасными. Предположим, что мой вектор не умеет хранить более 4 элементов (велосипед). А я попытаюсь списками запихать в него больше. Что будит? Исключения в конструкторе вещь не хорошая... Конкретные конструкторы позволяют построить объект конкретно безопасно. Сохраняя таким образом инвариант класса. Любая попытка сконструировать объект с кривыми стартовыми параметрами должна пофикситься ещё на этапе компиляции, а не в рантайме...
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 30.10.2011, 17:42 | ||
|
Сыроежка,
0
|
||
| 30.10.2011, 17:42 | |
|
Помогаю со студенческими работами здесь
40
Вопрос про конструктор Cделать конструктор по умолчанию и копирования для класса Вопрос про конструктор и инициализвцию Конструктор класса по умолчанию: код компилируется, хотя по идее не должен
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|