| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Вопрос по наследству. |
| Автор: ShurikA 10.3.2006, 20:22 | ||
| Если класс B наследует от А. правильно ли:
|
| Автор: LPBOY 10.3.2006, 21:22 |
| Да. |
| Автор: Daevaorn 10.3.2006, 21:23 |
| ShurikA, Если у класса A есть виртуальный деструктор, то с точки зарения языка да - правильно. |
| Автор: maxim1000 10.3.2006, 21:48 |
| как раз с точки зрения языка эта конструкция правильна всегда а виртуальный деструктор нужен для того, чтобы при уничтожении вызвать деструктор B, а не A |
| Автор: MAKCim 10.3.2006, 23:29 | ||||
правильно если
с точки зрения языка она все же правильна, но возможность использования только в случае выше |
| Автор: BreakPointMAN 10.3.2006, 23:46 | ||
Здесь программистский форум, а не форум юридических консультаций! В языке C++ нет термина "наследство", но есть термин "наследование". |
| Автор: BreakPointMAN 11.3.2006, 02:58 | ||
ну, я ни в одном переводном издании классических книг по C++ и книг по средам программирования на C++ не встречал термина "наследство"... |
| Автор: maxim1000 11.3.2006, 03:15 | ||
ну если для наследования, так проще было бы написать обертку с виртуальным деструктором (например, через private наследование или агрегацию, в конце концов) если же предполагается, что от класса наследовать никто не будет, виртуальный деструктор - просто лишняя помеха для оптимизации... |
| Автор: chipset 11.3.2006, 03:26 | ||||
Ладно, замнём оффтопик а то модераторы ещё поналетят
Вот-вот. Именно обертку. Когда надо было всего-то, добавить какую-то несчастную push_back'y |
| Автор: DeadSoul 11.3.2006, 12:23 |
| chipset, в ситуации описанной в первом посте виртуальный деструктор обязателен |
| Автор: LPBOY 11.3.2006, 12:58 | ||||
Если он перед удалением не кастит обратно.
|
| Автор: DeadSoul 11.3.2006, 13:14 |
| LPBOY, извини, но это идиотизм. |
| Автор: LPBOY 11.3.2006, 14:26 |
| Это не идиотизм, это была шутка юмора. |
| Автор: ShurikA 11.3.2006, 16:17 | ||||||
| Мдя... за что люблю форуму программистов, это если спросишь маленький простой вопрос получишь множество ответов, и на самом деле не все на тему. Я уточню вопрос: есть класс A:
только с виртуаьными функциями. классы B и C:
каждый из них в свою очередь перегрыжают все функции от А. пользование:
Правильно ли? |
| Автор: Stargazer 11.3.2006, 17:49 |
| Абсолютно правильно. |
| Автор: ShurikA 11.3.2006, 20:03 |
| Stargazer, Спасибо |