10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
|
||||||
1 | ||||||
Конструктор копирования16.10.2013, 23:56. Показов 527. Ответов 4
Метки нет Все метки)
(
Добрый вечер. Начал изучать перегрузку операций и конструктор копирования. Лазил в инете и налепил такой код. Только вот не могу понять как все таки работает конструктор копирования... Объясните пожалуйста
0
|
|
16.10.2013, 23:56 | |
Ответы с готовыми решениями:
4
Не могу сделать чтобы класс содержал основной конструктор и конструктор копирования Конструктор класса, конструктор копирования запускается не тот который нужен Не могу правильно сделать конструктор и конструктор копирования и принадлежность точки с заданными координатами треугольнику Конструктор инициализации, конструктор копирования, деструктор |
46 / 46 / 18
Регистрация: 25.10.2011
Сообщений: 183
|
|
17.10.2013, 00:16 | 2 |
Как работает? Представьте себе область памяти. У вас один объект указывает на некую область в памяти. Конструктор копий должен второму объекту выделить такого же размера память и копировать в неё все значения.
1
|
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
|
|
17.10.2013, 23:49 [ТС] | 3 |
Я не правильно задал вопрос.
когда в функции маин выполняется вот это m3=m1+m2, то он переходит в оператор перегрузки сложения? где a[i]=m1 и in.a[i]=m2, как он это определяет? По указателю this? Если было бы m3=m2+m1, то a[i]=m2 и in.a[i]=m1? Да и почему программа перестает работать при удалении конструктора копирования или перегрузки присваивания? Вроде и там и там объясняется как присвоить к m3 вот это m1+m2. Почему должно быть и конструктор копирования и перегрузка присваивания
0
|
Каратель
![]() |
|||||||||||
18.10.2013, 00:38 | 4 | ||||||||||
это
потому что оператор+ возвращает копию которая создается конструктором копирования Добавлено через 2 минуты потому что тогда компилятор сгенерирует их сам, и их поведение приведет к тому что при копировании/присваивании несколько объектов будут ссылатся на один и тот же массив потому что в коде сгенерированном компилятором будут просто скопированы все поля
1
|
10 / 10 / 1
Регистрация: 09.09.2013
Сообщений: 53
|
|
18.10.2013, 07:05 [ТС] | 5 |
Спасибо огромное
0
|
18.10.2013, 07:05 | |
Помогаю со студенческими работами здесь
5
Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Конструктор копирования конструктор копирования Конструктор копирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |