Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
#1

конструктор копировщик-смысл? - C++

20.03.2010, 17:29. Просмотров 678. Ответов 4
Метки нет (Все метки)

объясните пожалуйста для чего нужен конструктор копировщик...
в С++ за 21 день страница 248
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2010, 17:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос конструктор копировщик-смысл? (C++):

Конструктор-копировщик - C++
Matrix::Matrix(const Matrix & rhs) { itsNumOfStr = rhs.itsNumOfStr; itsNumOfCol = rhs.itsNumOfCol; //cout << "CONTRRRRRRRR\n"; ...

Конструктор копировщик - C++
Самостоятельно изучаю С++ по Либерти(освой за 21 день) Требуется создать класс и конструктор копировщик. Компилятор Visual C++ 2010. ...

Конструктор-копировщик - C++
Доброго времени суток! Сейчас изучаю класы, и столкнулся с такой проблемой. Компилятор отказывается понимать те функции-члены, в которых...

Конструктор - копировщик: ошибка - C++
при таком кодеclass cat{ public: cat(); ~cat(); cat(cat&); }; cat::cat(){ cout<<"Cat constructor"<<endl; ...

Виртуальный конструктор копировщик. - C++
Добрый вечер . Объясните для чего в природе может быть использован виртуальный конструктор копировщик ? виртуальная функция существует для...

Конструктор копировщик объектов, содержащих массивы - C++
Конструктор копировщик который будет создавать объекты в которых есть массивы. Можно просто фрагмент кода.

4
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
20.03.2010, 17:48 #2
Что бы объекты создавались по подобию существующих объектов.
C++
1
2
MyClass obj1;
MyClass obj2 = obj1;
Добавлено через 4 минуты
Или вот ещё пример.
C++
1
2
3
4
5
void  f(MyClass obj);     //Функции принимающая в качестве параметра объект типа MyClass
int main(){
MyClass i_OBJ;
f(i_OBJ);//вызов MyClass obj = i_OBJ вызывается конструктор копирования, для локального obj
}
0
Alip
53 / 32 / 3
Регистрация: 10.03.2010
Сообщений: 85
20.03.2010, 17:55 #3
Конструктор копирования используется для создания копии объекта класса.
В основном используется когда в классе есть указатели или ссылки. В любом классе есть неявный конструктор копирования, который просто копирует все члены класса. Если в классе имеются указатели, то они будут просто копироваться из одного объекта в другой. В этом случае возможна следующая ситуация.
В двух объектах были указатели. Так как они просто копировались, то и указывают они на одну и ту же область памяти. Следовательно когда деструктором уничтожится один из этих объектов, то эта область памяти будет недоступной и при уничтожении второго из этих объектов программа выдаст ошибку.
2
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
20.03.2010, 18:03 #4
Разъяснил нюансы это хорошо.
0
AnonymC
1173 / 455 / 28
Регистрация: 23.06.2009
Сообщений: 6,342
Завершенные тесты: 1
20.03.2010, 19:01  [ТС] #5
аа теперь ясно,спасибо
0
20.03.2010, 19:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2010, 19:01
Привет! Вот еще темы с ответами:

[C++] В чём тут ошибка? (делаю конструктор-копировщик) - C++
Пытаюсь написать класс с конструктором-копировщиком.В чём тут ошибка? class Subroutine { public: Subroutine (){}; ...

Стандартный конструктор копировщик и оператор = не справляются со своей задачей - C++
Всем привет ! Выяснил , что стандартный конструктор копировщик и оператор = не справляются со своей задачей в случае, если...

Параметр rhs, что это и для чего (конструктор-копировщик) - C++
Вот код: #include <iostream> class jurnal { public: jurnal() { }

Конструктор копирования (объяснить принцип и смысл) - C++
Для чего, когда и почему используется этот "конструктор копий"? Поясните мне на примере нижеприведённого кода. Вот программа для...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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