| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Связанный список |
| Автор: observateur 3.11.2006, 23:33 | ||
Допустим, мы заполняем объект этого класса данными, а затем присваиваем один класс целиком другому, используя стандартный оператор присваивания : list2=list1; Допустим, что впоследствии мы удалим объект класса list1. Можем ли мы все еще использовать list2 для доступа к введенным данным? Увы, нет, так как при удалении list1 все его ссылки были удалены. Единственное, что было объекту linklist про удаленный объект, это указатель на него. Но его удалили, указатель в list2 стал недееспособным, и все попытки получить доступ к данным приведут к получению мусора вместо данных, а в худшем случае – к зависанию программы. Один из способов избежать этих проблем- перегрузить оператор присваивания, что бы он вместе с объектом копировал бы все его ссылки. Но тогда придется пройти всей цепочке, поочередно копируя все ссылки. Как отмечалось ранее, следует также перегружать конструктор копирования. Чтобы была возможность удалять объекты linklist в main(), можно создавать их с помощью указателя и new. В таком случае проще будет проверять работу новых операций. Не переживайте, если обнаружите, что в процессе копирование порядок следования данных изменился. Понятно, что копирование всех данных не является самым эффективным решением проблемы с точки зрения экономии памяти. Но решения этого упражнения таким путем с точки зрения обучения важно. помогите мне понять суть этого упражнения.... |
| Автор: Rockie 4.11.2006, 01:03 |
| observateur, на http://club.shelek.com/view.php?id=49 сайте есть хорошие статьи про копирующие конструкторы и не только, "Копирование и присваивание". |
| Автор: Гарри 4.11.2006, 01:26 | ||
| Вместо того чтобы спросить напрямую, ставят перед проблемой, и разбирайся. Неотечественная постановка задачи, судя по всему? Темы для изучения тут копи конструктор и переписывание операторов. Вот примерчик, для оператора присваивания, может быть поможет ...
Модератор: пожалуйста, выбирайте тип подсветки |
| Автор: Alexeis 4.11.2006, 20:13 |
Можно присваивать объекты, а не классы. |
| Автор: observateur 4.11.2006, 22:07 |
| тогда у меня прозба к знатокам будьте любезны помогите мне решат эту проблему... |