45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|
1 | |
Конструктор29.07.2009, 23:29. Показов 3198. Ответов 32
Метки нет (Все метки)
1
|
29.07.2009, 23:29 | |
Ответы с готовыми решениями:
32
Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования Конструктор класса, конструктор копирования запускается не тот который нужен this(Всегда ли вызывается конструктор при не явной передачи объекта в конструктор) Будет ли определен компилятором конструктор по умолчанию, если есть конструктор с дефолтным параметром? |
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
|
|
30.07.2009, 01:15 | 21 |
я думаю что имеется в виду обнуление элементов класса
Добавлено через 33 секунды ... хотя конечно пути женской логики неисповедимы...
0
|
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
30.07.2009, 01:16 | 22 |
конструктор, который создает обьект триггера в сброшеном состоянии
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
30.07.2009, 01:17 | 23 | |||||
это просто конструктор по умолчанию: т.е. конструктор без параметров, который инициализирует свойства класса значениями по-умолчанию.
Добавлено через 1 минуту 1 секунду Пример:
0
|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|
30.07.2009, 01:31 [ТС] | 24 |
[QUOTE=Monte-Cristo;228394]это просто конструктор по умолчанию: т.е. конструктор без параметров, который инициализирует свойства класса значениями по-умолчанию.
Добавлено через 1 минуту 1 секунду Пример: Я так понимаю для того, чтобы сбросить экземпляр класса должен быть уже создан, а если в параметрах указан экземпляр этого же класса он уже не является простым конструктором, а является конструктором копирования. Что такое конструктор по умолчанию я знаю, однако о конструкторе сбрасывающем экземпляр класса никогда не слышал(.
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
30.07.2009, 01:33 | 25 |
Skirmisher, не обязательно копирования. Конструктор копирования создается автоматически, даже если он не указан явно.
0
|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|||||||||||
30.07.2009, 01:49 [ТС] | 26 | ||||||||||
Т.е. если например в параметрах указан экземпляр этого же класса, то это не будет конструктор копирования?
Например: имеется такой код:
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
30.07.2009, 01:51 | 27 |
0
|
45 / 45 / 1
Регистрация: 23.05.2009
Сообщений: 92
|
|
30.07.2009, 02:36 [ТС] | 28 |
А когда, тогда конструктор класса, содержащий экземпляр своего же класса не является конструктором копирования?
Добавлено через 35 минут 2 секунды А это что еще за конструктор? Приведи пример пожалуйста.
0
|
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
30.07.2009, 11:31 | 29 | |||||
Skirmisher, где-то так:
1
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
30.07.2009, 12:21 | 30 | |||||
Я же отношусь больше к варианту, что конструктор копирования - это продемонстрированный выше вариант. А если пользователь его перегрузит, я считаю его уже не копированием, так как в перегруженном уже могут выполнятся любые действеия, и копированием даже и не пахнуть.
0
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
30.07.2009, 12:38 | 31 |
0
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
30.07.2009, 12:40 | 32 |
Вообще-то Стандарт языка, в разделе 12.8 clauses 2 и 4 абсолютно точно и однозначно определяют, что такое есть конструктор копирования и при каких условиях генерируется встроенный конструктор копирования.
1
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
30.07.2009, 12:52 | 33 |
Действительно. Необходимо будет почитать стандарт, так как с оперделниями я сильно не заморачивался
Wiki тоже содержит информацию на эту тему
Конструктором копирования (в англоязычной литературе используется термин copy constructor) называется специальный конструктор в языке программирования C++, применяемый для создания нового объекта как копии уже существующего. Такой конструктор принимает один аргумент: ссылку на копируемый объект.
Обычно компилятор автоматически создает конструктор копирования для каждого класса (известные как неявные конструкторы копирования, т.е. конструкторы копирования, заданные неявным образом), но в некоторых случаях программист создает конструктор копирования, называемый в таком случае явным конструктором копирования (или "конструктором копирования, заданым явным образом"). В подобных случаях компилятор не создает неявные конструкторы.
0
|
30.07.2009, 12:52 | |
30.07.2009, 12:52 | |
Помогаю со студенческими работами здесь
33
Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику Создать класс. Написать конструктор по умолчанию, конструктор с параметрами. Перегрузить операции «меньше» и «равно» Можно ли использовать конструктор по умолчанию и конструктор инициализации одновременно? Конструктор производного класса требует конструктор предка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |