Здравствуйте, гость ( Вход | Регистрация )
|
Litkevich Yuriy |
17.8.2010, 12:57
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Никак не могу въехать в виртуальный деструктор.
Есть некая программа написанная с использованием Qt, работает стабильно. При развитии программы, она может падать в некий момент времени, обычно при взаимодействии с пользовательским интерфейсом. Но чаще возникает авария при завершении работы. Эту ситуацию можно пердотвратить в ведя в один из классов пустой, ничего не делающий, виртуальный деструктор. Речь идёт о наследнике либо QObject, либо QWidget. Может кто-нибудь объяснить, как может влиять создание руками виртуального деструктора, при условии, что его тело пустое? |
|
|
|
![]() |
|
Litkevich Yuriy |
19.8.2010, 15:51
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(DEADHUNT @ 19.8.2010, 18:23) Link а все вызовы дополнительных утилит(moc, uic, etc.) в ручную прописывать? можно и так сказать, т.к. отдельные списки создавать надо
|
|
|
|
Litkevich Yuriy C++, виртуальный деструктор 17.8.2010, 12:57
BRE Ситуация вообще странная.
Насколько я помню, вирту... 17.8.2010, 13:04
Litkevich Yuriy Цитата(BRE @ 17.8.2010, 17:04) Насколько ... 17.8.2010, 13:14
BRE Прав.
Вызовется деструтор MyObject, а потом QObjec... 17.8.2010, 13:19
Litkevich Yuriy и ещё, при отладке в Креаторе увидел что в консоль... 17.8.2010, 13:27
Алексей1153 Litkevich Yuriy, а когда запущено на отладку без т... 17.8.2010, 13:36
Litkevich Yuriy Цитата(Алексей1153 @ 17.8.2010, 17:36) Об... 17.8.2010, 13:42
DEADHUNT добавляя виртуальный деструктор получаем:
1) полим... 17.8.2010, 14:10
Влад Ежли мой склероз мне не изменяет, еще Джефф Элджер... 17.8.2010, 15:18
Litkevich Yuriy Цитата(DEADHUNT @ 17.8.2010, 18:10) добав... 17.8.2010, 15:20
DEADHUNT Цитата(Litkevich Yuriy @ 17.8.2010, 16:20... 17.8.2010, 15:39
Алексей1153 Цитата(Влад @ 17.8.2010, 18:18) за исключ... 17.8.2010, 16:37
Litkevich Yuriy Цитата(DEADHUNT @ 17.8.2010, 19:39) класс... 17.8.2010, 16:38
kwisp лишний повод(причина) не использовать креатор. 17.8.2010, 17:07
Iron Bug Цитата(Litkevich Yuriy @ 17.8.2010, 19:38... 17.8.2010, 17:53
Алексей1153 и ещё
... вызываются ли виртуальные функции в дест... 17.8.2010, 18:41
BRE Цитата(Алексей1153 @ 17.8.2010, 19:41) ..... 17.8.2010, 19:00
kwisp BRE,
не знаю почему но могу предположить:
при вы... 17.8.2010, 19:08
Алексей1153 Вроде нельзя, потому что виртуальная таблица уже п... 17.8.2010, 19:11
BRE На сколько я помню, при удалении объекта с виртуал... 17.8.2010, 19:20
Алексей1153 нет, речь не про виртуальный деструктор, а про явн... 17.8.2010, 19:24
BRE Ты про чисто виртуальные функции или просто виртуа... 17.8.2010, 19:27
Алексей1153 Щас сделаю тест, самому охота вспомнить )
хм, выя... 17.8.2010, 19:51
Iron Bug Цитата(BRE @ 17.8.2010, 22:20) На сколько... 17.8.2010, 20:21
Litkevich Yuriy Цитата(Алексей1153 @ 17.8.2010, 22:41) ..... 18.8.2010, 4:26
Алексей1153 Цитата(Litkevich Yuriy @ 18.8.2010, 7:26)... 18.8.2010, 6:50
kwisp Цитата(Алексей1153 @ 17.8.2010, 20:51) хм... 18.8.2010, 9:43
Алексей1153 Цитата(Алексей1153 @ 17.8.2010, 22:11) фу... 18.8.2010, 10:11
kwisp Цитата(Алексей1153 @ 17.8.2010, 20:11) Бу... 18.8.2010, 11:16
Алексей1153 что тут верить то Проверить, и всё
class A
{
publ... 18.8.2010, 12:20
kwisp Алексей1153,
хитрец ты вызываешь не чисто виртуал... 18.8.2010, 13:41
DEADHUNT Цитата(Алексей1153 @ 18.8.2010, 13:20) чт... 18.8.2010, 13:41
Алексей1153 Цитата(kwisp @ 18.8.2010, 16:41) хитрец т... 18.8.2010, 13:57
DEADHUNT Цитата(Алексей1153 @ 18.8.2010, 14:57) Ил... 18.8.2010, 14:02
Iron Bug Цитата(Litkevich Yuriy @ 17.8.2010, 15:57... 18.8.2010, 15:03
Алексей1153 DEADHUNT, понятно )
А я то понял, что про именно ... 18.8.2010, 19:12
Litkevich Yuriy вобщем шутки RunTime продолжаются.
Похоже, что чу... 19.8.2010, 8:51
Алексей1153 Litkevich Yuriy, а у тебя нигде директива не испол... 19.8.2010, 12:43
DEADHUNT Цитата(Litkevich Yuriy @ 19.8.2010, 9:51)... 19.8.2010, 14:23
BRE Цитата(DEADHUNT @ 19.8.2010, 15:23) а все... 19.8.2010, 14:25
DEADHUNT вот нашёл пример: http://www.devexp.ru/2010/01/cma... 19.8.2010, 14:36![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 15.12.2025, 5:01 |