|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.07.2017, 14:51 | #11 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Цель вопроса узнать, как выглядит код не перегруженного конструктора копирования, и как выглядит код перегруженного конструктора копирования.
В представленном примере есть несколько конструкторов, да. Но ведь Вы прекрасно понимаете, что там далеко не все конструкторы являются конструкторами копирования))). Зачем же наводить тень на плетень?))) Вопрос конкретный, в самом первом посте. Представлю его несколько подкорректированную версию: "Правильно ли я понял, что перегрузка конструктора копирования выражается в данном случае в добавлении надписи "Запущен конструктор копирования"? Если нет, то подскажите пожалуйста в чем выражается перегрузка конструктора копирования в данном случае, и как выглядит в данном случае не перегруженный конструктор копирования?" |
04.07.2017, 15:33 | #12 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Там перегрузка конструктора. И реализация своего конструктора копирования вместо сгенерированного по умолчанию.
Что такое "перегрузка конструктора копирования" и что вы от него хотите непонятно, конструктор копирования это тоже просто конструктор. Перегрузка функций (ну конструктор это ж тоже функция) это термин означающий то, что я описал. https://ru.wikipedia.org/wiki/%D0%9F...86%D0%B8%D0%B9 Еще есть перегрузка операторов, но по сути это тоже просто разные параметры функции с одним "именем". Например плюс(число, число) и плюс(строка, строка).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 04.07.2017 в 15:43. |
04.07.2017, 16:49 | #13 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Дело вот в чем. Я прикрепил фото учебника где говорится, что в данной программе конструктор копирования перегружен. Я хочу выяснить:
"В ЧЕМ ЗАКЛЮЧАЕТСЯ ЭФФЕКТ ПЕРЕГРУЗКИ". Либо в том что в тело конструктора добавлен текст "Запущен конструктор копирования", либо в том что вообще конструктор копирования прописан явно. В чем соль перегрузки в данном случае? Я полагаю, что понятней вопрос задать невозможно. В призме этого поста можно рассмотреть все предыдущие. |
04.07.2017, 17:31 | #14 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так ответили ж уже.
В том коде просто добавили свой конструктор копирования (и оператор присваивания). Цитата:
А про перегрузку может просто немного криво написано в книге. Не стоит так сильно зависать на этом одном предложении. Перегрузкой обычно называют ситуацию когда есть несколько функций с одинаковым именем, но отличающиеся сигнатурой (параметры). Вот такая ситуация тут и есть.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 04.07.2017 в 17:34. |
|
04.07.2017, 18:05 | #15 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Про перегрузку я уже нормально изучил. Понимаю вроде.
Но абстрагируясь от этого, как Вы сказали, корявого написания, интересуюсь у Вас лично: можете Вы мне написать код перегруженного конструктора копирования (простенький), и код конструктора копирования работающего не явно? |
04.07.2017, 18:19 | #16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
04.07.2017, 18:43 | #17 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Ну вообще то я прошу другого форумчанина написать ответ на мой вопрос. И мой вопрос остаётся в силе.
Но Вам я скажу так, меня именно и интересует код который создаст сам компилятор. Код. |
04.07.2017, 19:31 | #18 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так ответили ж уже, копирование всех полей объекта. Как в этом примере и есть.
Ну может есть какие-то нюансы в сложных случаях, надо смотреть стандарт. Указатели естественно копируются не "глубоко", то есть только сам указатель (указывающий на то же место в памяти). А вот массивы (int arr[100]) вроде копируются.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 04.07.2017 в 19:35. |
04.07.2017, 20:19 | #19 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Уважаемый Alex11223.
Просьба следующая. Можете Вы мне написать по-своему код перегруженного конструктора копирования (простенький), и код конструктора копирования работающего не явно? (Вы мне подобного не писали, и никто.) Остальных форумчан своими постами данный вопрос прошу не замыливать.)))))А то я заметил, тут здорово умеют отвечать не отвечая) |
04.07.2017, 20:25 | #20 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы ж сами и написали в первом сообщении.
Что именно непонятно в или ?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызовы конструктора копирования | rmv240899 | Общие вопросы C/C++ | 11 | 11.06.2012 13:07 |
Вызов конструктора для this в констукторе копирования | TrydORgolik | Общие вопросы C/C++ | 1 | 03.09.2011 11:54 |
Перегрузка конструктора формы | Frustrator | Общие вопросы Delphi | 1 | 22.04.2011 09:05 |
Конструктор копирования, перегрузка операций | xPAL | Общие вопросы C/C++ | 1 | 15.10.2010 20:16 |
Перегрузка конструктора | Spice | Общие вопросы C/C++ | 3 | 20.07.2009 14:37 |