crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> C++, виртуальный деструктор
Litkevich Yuriy
  опции профиля:
сообщение 17.8.2010, 12:57
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Никак не могу въехать в виртуальный деструктор.
Есть некая программа написанная с использованием Qt, работает стабильно. При развитии программы, она может падать в некий момент времени, обычно при взаимодействии с пользовательским интерфейсом. Но чаще возникает авария при завершении работы.
Эту ситуацию можно пердотвратить в ведя в один из классов пустой, ничего не делающий, виртуальный деструктор.

Речь идёт о наследнике либо QObject, либо QWidget.

Может кто-нибудь объяснить, как может влиять создание руками виртуального деструктора, при условии, что его тело пустое?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 17.8.2010, 16:38
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(DEADHUNT @ 17.8.2010, 19:39) *
класс имеет виртуальный деструктор
ну это-то понятно, это я в первых постах написал.
Мне не понятно, может ли влиять явное создание пустого деструктора у наследника QObject (или иного класса, с виртуальным деструктором).
На мой взгляд нет.


Но похоже это какая-то кривость Креатора. Любое изменение в коде (в заголовочниках) сейчас опять выливается в аврию. Если же компилю в консоли или в PN-2, то всё нормально.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- 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
- - Litkevich Yuriy   Цитата(DEADHUNT @ 19.8.2010, 18:23) а все...   19.8.2010, 15:51


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.11.2024, 13:28