0 / 0 / 0
Регистрация: 10.12.2012
Сообщений: 27
|
|
1 | |
Присваивание объекта без переопределенной операции =. Каковы последствия?27.12.2014, 20:37. Показов 915. Ответов 3
Метки нет Все метки)
(
Помогите ответить. Что происходит при присваивании одного объекта другому (без переопределенной операции =) и какие побочные эффекты могут возникнуть?
0
|
|
27.12.2014, 20:37 | |
Ответы с готовыми решениями:
3
Передача операнда внутри переопределенной операции Каковы отрицательные последствия уменьшения проектных норм? Каковы последствия установки сгоревшего (возможно) процессора в рабочую материнку? Присваивание объекта |
125 / 125 / 44
Регистрация: 05.10.2013
Сообщений: 462
|
|
27.12.2014, 21:23 | 2 |
asemvip, при это получим, что оба объекта (их будет один), ссылаются на один участок памяти. Изменение любого из объектов изменит и второй.
0
|
Неэпический
|
|
27.12.2014, 21:25 | 3 |
будет вызван деволтный оператор присваивания.
никаких. а если неправильно использовать, то можно и ногу отстрелить Добавлено через 54 секунды с какого перепугу? Просто будет вызван оператор присваивания для соответствующих членов-данных, а остальное зависит от них.
0
|
![]() 3222 / 1749 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
28.12.2014, 09:55 | 4 |
Вызывается неявный оператор копирующего присваивания, который делает следующее:
1) Вызывает операторы копирующего присваивания базовых классов, в том числе виртуальных; 2) Почленно копирует все нестатические члены-данные класса. Для членов, являющихся объектами классов, вызываются их операторы копирующего присваивания, а остальные копируются побитово. Если среди членов-данных имеются указатели на некие объекты, то скопируются не эти объекты, а указатели на них, т.е. получится, что два указателя указывают на один и тот же объект. Если такой класс не имеет явного деструктора, то при уничтожении его объекта память, на которую указывают члены-указатели, не будет освобождена. Если же имеется явный деструктор, освобождающий память, на которую указывают члены-указатели, то при уничтожении объекта-оригинала и объекта-копии произойдет попытка дважды освободить один и тот же участок памяти, что запрещено стандартом.
0
|
28.12.2014, 09:55 | |
Помогаю со студенческими работами здесь
4
Присваивание объекта класса ofstream Присваивание объекта базового класса наследуемому
Устранить последствия BSOD без переустановки и восстановления Присваивание объектов одного типа между собой и передача объекта в функцию по значению Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |