![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
![]()
вообщем, создал объект в динамической памяти, теперь как вызвать деструктор что бы его удалить?
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
кросспостинг запрешен правилами
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 25
|
![]()
На таком простом примере все становится понятно:
Код:
Удел сильных - уделывать слабых
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
![]()
ммм... у меня получается что
char *s; //будет указателем на динамический массив значит в дуструкторе нужно определить удаления этого динамического массива, но при delete (obj) удалится сам указатель на динамический массив, а память останется заполненной, на которую указывал s |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
![]()
вообщем проблема то у меня в том, что я перегрузил операции = и *, и теперь хочу написать что то типа
Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 22
|
![]()
но не могу вызвать деструктор, потому что указатель на динамическую памяти похоронен в функции, и я хз как ее вычленить от туда
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]() |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.12.2009
Сообщений: 25
|
![]()
Если перегрузить оператор * в виде
A operator* (const A &first, const A &second) { //объявляете новый экземпляр класса, пусть будет obj //выполняете действия над динамическим массивом, используя передаваемые объекты return obj; } Тогда не надо будет создавать ничего внешнего и вся память будет чиститься деструкторами Но в таком случае поля класса А, связанные с вашим массивом должны быть пабликами. Ну или повозиться с get/set методами и все будет оопэшно.
Удел сильных - уделывать слабых
Последний раз редактировалось Napkin; 08.04.2011 в 03:48. |
![]() |
![]() |
![]() |
#9 | ||
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Конструктор и деструктор | Ярослав Л | Помощь студентам | 1 | 18.01.2011 15:20 |
Конструкторы и деструктор С++ | DarkSwan | Помощь студентам | 2 | 07.01.2011 12:13 |
Деструктор класса | Lotles | Общие вопросы C/C++ | 2 | 16.10.2010 23:10 |
С++ (конструктор, деструктор) | Kventin | Помощь студентам | 4 | 31.03.2009 18:11 |
Нужно написать деструктор | s-t-r-i-k-e-r | Помощь студентам | 2 | 03.06.2008 23:58 |