Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
AnreyKazakov
Заблокирован
#1

Что такое конструктор копий? - C++

02.10.2012, 00:13. Просмотров 2477. Ответов 22
Метки нет (Все метки)

Объясните, пожалуйста, на максимально простом языке, чем отличается конструктор от конструктора копий?
Может это и одно и то же, хотя вряд ли, в книжке в разных разделах инфа выложена...
под конструктором я понимаю что-то вроде:
C++
1
2
3
4
class as{
as():a(155){}
int a;
};
Если класс объявлен, а переменная а не инициализирована, то значение а 155.
А что такое конструктор копий? Злость берет, что нифига не понимаю.... Единственное порадовало: "Зачастую самой трудной задачей при определении конструктора копий является собственно осознание того,что он необходим"
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2012, 00:13     Что такое конструктор копий?
Посмотрите здесь:

Что такое конструктор? - C++
Конструктор - это такие детали , как map , player, enemy.Я правильно понял?

что такое конструктор? - C++
Обьясните плиз что такое конструктор? Это функция а что она делает и для чего?

Конструктор копий - C++
Добрый день! Пытаюсь разобраться с конструктором копий, а именно: когда его использовать и как реализовать. С первым, вроде как,...

Конструктор копий - C++
Можно ли вызвать в конструкторе копий, конструктор, если объекту нечего передавать? Класс - абстрактный. В конструкторе идет подсчет...

Конструктор копий - C++
Добрый день, изучая работу со списками и классы, дошел до такой проблемы: Нужно было создать односвязный список и продлить его же...

Что такое конструктор по умолчанию? Как инициализируются данные-члены объекта? - C++
Что такое конструктор по умолчанию? Как инициализируются элементы данных объекта, если класс имеет только неявно определенный...

Конструктор копий по умолчанию. - C++
Почему, когда в vc++ vdfsadsad Добавлено через 46 секунд Почему если идёшь по коду с заходом в функцию не отображается вызов...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
02.10.2012, 23:23     Что такое конструктор копий? #21
Sher_vud, Потому что

C++
1
String s = "abcd";
эквивалентно на самом деле
C++
1
String s(String("abcd"));
, компилятор может не вызывать конструктор копирования, однако проверить то, что существует подходящий обязан. В данном примере проблема в том, что конструирование идет от временного объекта, который не может быть связан с ссылкой. Почитайте http://stackoverflow.com/questions/1...t-initializati
Sher_vud
4 / 4 / 1
Регистрация: 25.09.2012
Сообщений: 42
03.10.2012, 01:06     Что такое конструктор копий? #22
Цитата Сообщение от ForEveR Посмотреть сообщение
В данном примере проблема в том, что конструирование идет от временного объекта
C++
1
String s = "abcd";
в статье на которую Вы дали ссылку приводится пример
B(A const&)
operator B(A&);
я так понял "const" должен быть проставлен для повышения приоритета, дабы исключить сомнения у компилятора, что же запускать.
получается проблема в том,что компилятор считает ситуацию
B(A&)
operator B(A&);
неоднозначной и соответственно выдает ошибку, я правильно понимаю?
у меня он пишет вот что:
no matching function for call to `String::String(String)'
candidates are: String::String(String&)
String::String(char*)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2012, 07:17     Что такое конструктор копий?
Еще ссылки по теме:

Классы: конструктор копий - C++
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка Есть некоторые наброски , посмотрите...

Конструктор копий. Оператор присваивания - C++
В классе есть массив char (не динамический) размером 40 байт. Вопрос1: нужно ли для такого класса определять конструктор копий или...

С++ Конструктор копий. Функция, работающая с объектами - C++
Конструктор копий должен работать в след. ситуациях: 1) В объявлении объекта, когда один объект используется для инициализации другого. ...

Перегрузка оператора ++ , деструктор и конструктор копий - C++
Привет всем! В продолжение Этой темы появились новые вопросы и непонятки. Буду признателен за советы и разъяснения ;) Начну с...

Конструктор копий и перегруженный оператор копирования - C++
Привет! Изучил конструктор копий и перегруженный оператор копирования. Но не могу понять зачем в одном классе реализовывать и конструктор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.10.2012, 07:17     Что такое конструктор копий? #23
Sher_vud, У вас проблема исключительно в том, что временный объект не может быть связан с неконстантной ссылкой.
Yandex
Объявления
03.10.2012, 07:17     Что такое конструктор копий?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru