![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
ShurikA |
|
|||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Если класс B наследует от А.
правильно ли:
|
|||
|
||||
LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Да.
--------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
ShurikA, Если у класса A есть виртуальный деструктор, то с точки зарения языка да - правильно.
|
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
как раз с точки зрения языка эта конструкция правильна всегда
а виртуальный деструктор нужен для того, чтобы при уничтожении вызвать деструктор B, а не A -------------------- qqq |
|||
|
||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
правильно если
с точки зрения языка она все же правильна, но возможность использования только в случае выше -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
Здесь программистский форум, а не форум юридических консультаций! В языке C++ нет термина "наследство", но есть термин "наследование". -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
chipset |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
И если нету тоже. Виртуальный деструктор в реальной жизни можно и не делать, так-же как вполне можно не следовать принципам ООП там где это не требуеться. А то на RSDN некоторые уже собирались весь интерфейс std::vector переписывать. И это только потому-что, ах! (слабонервных попрошу выйти из зала) там нету виртуального деструктора ![]() ![]() Добавлено @ 02:36
В принципе, в C++ вообще нету русских терминов так что я с тобой не соглашусь ![]() --------------------
|
||||||
|
|||||||
BreakPointMAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 15.9.2004 Где: Saratov Репутация: 14 Всего: 24 |
ну, я ни в одном переводном издании классических книг по C++ и книг по средам программирования на C++ не встречал термина "наследство"... ![]() -------------------- "Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце") |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
ну если для наследования, так проще было бы написать обертку с виртуальным деструктором (например, через private наследование или агрегацию, в конце концов) если же предполагается, что от класса наследовать никто не будет, виртуальный деструктор - просто лишняя помеха для оптимизации... -------------------- qqq |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ладно, замнём оффтопик а то модераторы ещё поналетят ![]()
Вот-вот. Именно обертку. Когда надо было всего-то, добавить какую-то несчастную push_back'y ![]() --------------------
|
||||
|
|||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
chipset, в ситуации описанной в первом посте виртуальный деструктор обязателен -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
LPBOY |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Если он перед удалением не кастит обратно. ![]()
Это сообщение отредактировал(а) LPBOY - 11.3.2006, 12:59 --------------------
Каждый человек по-своему прав, а по-моему нет... |
||||
|
|||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
LPBOY, извини, но это идиотизм.
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Это не идиотизм, это была шутка юмора.
![]() --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
ShurikA |
|
||||||
![]() Зануда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1364 Регистрация: 29.10.2005 Где: Канада Репутация: нет Всего: 3 |
Мдя... за что люблю форуму программистов, это если спросишь маленький простой вопрос получишь множество ответов, и на самом деле не все на тему.
![]() Я уточню вопрос: есть класс A:
только с виртуаьными функциями. классы B и C:
каждый из них в свою очередь перегрыжают все функции от А. пользование:
Правильно ли? |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |