Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
#1

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

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

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

Как управиться с памятью? Поможет ли вызов деструктора в деструкторе решить эту проблемму или как делаете вы?
C++
1
2
3
4
~Foo1()
{
~Foo();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2013, 18:27
Я подобрал для вас темы с готовыми решениями и ответами на вопрос С++ течет при наследовании (C++):

Использование шаблонов при наследовании, ошибка при компиляции
При изучении списков написал шаблон протестировал, все работает. После написал...

Ошибка при наследовании
Здраствуйте,не могу понять где именно оштбся,возможно кто-то поможет,код...

Деструктор при наследовании
Имеется 3 класса (базовый -> производный -> производный2) в классе базовый...

Ошибка при наследовании?
Программа компилируется, но консоль не выдает информацию. Связано ли это как то...

Конструкторы при наследовании
Добрый вечер. Пишу программу с наследованием классов. Класс-родитель - nasled,...

Присвоение при наследовании
Всем доброго дня ! Подскажите пожалуйста как сделать так , что-бы при...

46
Croessmah
++Ͻ
14160 / 8085 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
26.01.2013, 02:50 #41
Цитата Сообщение от vbloodv Посмотреть сообщение
C++
1
startMap[9] = red;
Если COUNT_N равен 9, то здесь выход за пределы, потому что индексы от 0 до 8, соответственно, повреждаются данные и результат не предсказуем
1
I.M.
566 / 549 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
26.01.2013, 02:51 #42
vbloodv, нумерация с 0, а не с 1
0
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 02:53  [ТС] #43
Croessmah,
I.M., но этой функции уже нет в решении, а ошибка продолжает возникать !
0
Toshkarik
1148 / 865 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
26.01.2013, 04:22 #44
vbloodv, Вы понимаете, что Map у Вас глобальный? И для него не нужно вызывать деструктор? Или хотя бы зануляйте указатель в декструкторе.
0
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 04:25  [ТС] #45
Toshkarik, деструктор закомментирован был. Да за сегоднешней дешь выучил
0
Croessmah
++Ͻ
14160 / 8085 / 1513
Регистрация: 27.09.2012
Сообщений: 19,926
Записей в блоге: 3
Завершенные тесты: 1
26.01.2013, 04:27 #46
Уберите явный вызов деструкторов в
C++
1
Picture::Delete()
а так же из функции WinMain()
Больше, вроде, нигде нет.
0
vbloodv
22 / 22 / 3
Регистрация: 15.12.2012
Сообщений: 314
26.01.2013, 04:30  [ТС] #47
Croessmah, а что касается структуры... может патерн какой нужен или организация?
0
26.01.2013, 04:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2013, 04:30
Привет! Вот еще темы с решениями:

Ошибка при наследовании
Привет! Ни как не могу разобраться, в чём дело. Создал 2 класса: Base и...

Ошибка при наследовании
Подскажите пожалуйста почему наследование класса readwrite не работает?...

Конструкторы при наследовании
Описал большую иерархию классов. Надо написать конструкторы, правда уже не...

Сравнение при наследовании
Есть базовый класс, пусть его зовут А, а у него есть 4 потомка. Пусть их зовут:...


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

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

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