Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
#1

С++ течет при наследовании - C++

25.01.2013, 18:27. Просмотров 1788. Ответов 46
Метки нет (Все метки)

Если был создан класс где его поля размещались в стеке (Foo)
и унаследован классом (Foo1) который создается динамически.

Как управиться с памятью? Поможет ли вызов деструктора в деструкторе решить эту проблемму или как делаете вы?
C++
1
2
3
4
~Foo1()
{
~Foo();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,488
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 02:50     С++ течет при наследовании #41
Цитата Сообщение от vbloodv Посмотреть сообщение
C++
1
startMap[9] = red;
Если COUNT_N равен 9, то здесь выход за пределы, потому что индексы от 0 до 8, соответственно, повреждаются данные и результат не предсказуем
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
26.01.2013, 02:51     С++ течет при наследовании #42
vbloodv, нумерация с 0, а не с 1
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 02:53  [ТС]     С++ течет при наследовании #43
Croessmah,
I.M., но этой функции уже нет в решении, а ошибка продолжает возникать !
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
26.01.2013, 04:22     С++ течет при наследовании #44
vbloodv, Вы понимаете, что Map у Вас глобальный? И для него не нужно вызывать деструктор? Или хотя бы зануляйте указатель в декструкторе.
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 04:25  [ТС]     С++ течет при наследовании #45
Toshkarik, деструктор закомментирован был. Да за сегоднешней дешь выучил
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12519 / 7081 / 797
Регистрация: 27.09.2012
Сообщений: 17,488
Записей в блоге: 2
Завершенные тесты: 1
26.01.2013, 04:27     С++ течет при наследовании #46
Уберите явный вызов деструкторов в
C++
1
Picture::Delete()
а так же из функции WinMain()
Больше, вроде, нигде нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2013, 04:30     С++ течет при наследовании
Еще ссылки по теме:

C++ Неоднозначность при наследовании
Деструктор при наследовании C++
C++ Присвоение при наследовании
Ошибка при наследовании C++
Ошибка при наследовании C++

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

Или воспользуйтесь поиском по форуму:
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 04:30  [ТС]     С++ течет при наследовании #47
Croessmah, а что касается структуры... может патерн какой нужен или организация?
Yandex
Объявления
26.01.2013, 04:30     С++ течет при наследовании
Ответ Создать тему
Опции темы

Текущее время: 20:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru