![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 62
|
![]()
Добрый вечер. Есть класс TElement, в котором объявлен вирт. деструктор
virtual ~TElement(); и есть класс TKRect(для которого TElement - предок) со своим вирт. деструктором с таким телом TKRect::~TKRect() { TElement::~TElement(); } Выдается ошибка \Kurs1\RECT.CPP||In destructor `virtual TKRect::~TKRect()':| \Kurs1\RECT.CPP|16|error: no matching function for call to `TKRect::TElement()'| \Kurs1\_ELEMENT.h|12|note: candidates are: virtual TElement::~TElement()| ||=== Build finished: 1 errors, 0 warnings ===| Подскажите пожалуйста, как ее решить. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
виртуальный деструктор предка не нужно вызывать самостоятельно, он будет вызван автоматически
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 62
|
![]()
Даже в том случае, если у деструктора предка не пустое тело?
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
А какой смысл его вызывать, если оно пустое?
![]() Деструктор предка, даже не виртуальный, будет вызван после деструктора сына. Но есть одно "но", если использовать полиморфизм и удалять производный класс по ссылке на базовый, а в базовом деструктор будет невиртуальным, то деструктор производного не будет вызван. Вообще говоря это единственная причина, по которой деструктор следует объявлять виртуальным, если полиморфизм не используется, то он(деструктор) может быть обычным(невиртуальным) Последний раз редактировалось netrino; 12.12.2009 в 22:11. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу Документированный Драйвер Для Создания Виртуального Hdd(cdrom) | 260db | Свободное общение | 6 | 21.06.2009 14:10 |
Чем отличается скан-код от виртуального кода клавиши? | The_Darkness | Помощь студентам | 2 | 18.07.2008 17:01 |
Разработка виртуального принтера | studentTomsk | Помощь студентам | 3 | 03.02.2008 13:39 |
созданию виртуального стенда по механике | VALIK | Общие вопросы Delphi | 1 | 22.02.2007 18:25 |