![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Цель вопроса узнать, как выглядит код не перегруженного конструктора копирования, и как выглядит код перегруженного конструктора копирования.
В представленном примере есть несколько конструкторов, да. Но ведь Вы прекрасно понимаете, что там далеко не все конструкторы являются конструкторами копирования))). Зачем же наводить тень на плетень?))) Вопрос конкретный, в самом первом посте. Представлю его несколько подкорректированную версию: "Правильно ли я понял, что перегрузка конструктора копирования выражается в данном случае в добавлении надписи "Запущен конструктор копирования"? Если нет, то подскажите пожалуйста в чем выражается перегрузка конструктора копирования в данном случае, и как выглядит в данном случае не перегруженный конструктор копирования?" |
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Дело вот в чем. Я прикрепил фото учебника где говорится, что в данной программе конструктор копирования перегружен. Я хочу выяснить:
"В ЧЕМ ЗАКЛЮЧАЕТСЯ ЭФФЕКТ ПЕРЕГРУЗКИ". Либо в том что в тело конструктора добавлен текст "Запущен конструктор копирования", либо в том что вообще конструктор копирования прописан явно. В чем соль перегрузки в данном случае? Я полагаю, что понятней вопрос задать невозможно. В призме этого поста можно рассмотреть все предыдущие. |
![]() |
![]() |
![]() |
#14 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Так ответили ж уже.
В том коде просто добавили свой конструктор копирования (и оператор присваивания). Цитата:
А про перегрузку может просто немного криво написано в книге. Не стоит так сильно зависать на этом одном предложении. Перегрузкой обычно называют ситуацию когда есть несколько функций с одинаковым именем, но отличающиеся сигнатурой (параметры). Вот такая ситуация тут и есть. ![]()
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 04.07.2017 в 17:34. |
|
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Про перегрузку я уже нормально изучил. Понимаю вроде.
Но абстрагируясь от этого, как Вы сказали, корявого написания, интересуюсь у Вас лично: можете Вы мне написать код перегруженного конструктора копирования (простенький), и код конструктора копирования работающего не явно? |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#17 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Ну вообще то я прошу другого форумчанина написать ответ на мой вопрос. И мой вопрос остаётся в силе.
Но Вам я скажу так, меня именно и интересует код который создаст сам компилятор. Код. |
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#19 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Уважаемый Alex11223.
Просьба следующая. Можете Вы мне написать по-своему код перегруженного конструктора копирования (простенький), и код конструктора копирования работающего не явно? (Вы мне подобного не писали, и никто.) Остальных форумчан своими постами данный вопрос прошу не замыливать.)))))А то я заметил, тут здорово умеют отвечать не отвечая) |
![]() |
![]() |
![]() |
#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 |