|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.01.2010, 11:35 | #1 | ||
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
Класс, наследование
Добрый день!
Собственно вопрос: если в родительском классе определен и реализован виртуальный метод, обязательно переопределять его в дочернем? Код: Код:
Цитата:
Цитата:
Быть радикальным - значит понять вещь в её корне. К.Маркс
Последний раз редактировалось nazavrik; 29.01.2010 в 11:49. |
||
29.01.2010, 11:49 | #2 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
Последний раз редактировалось profi; 29.01.2010 в 12:00. |
|
29.01.2010, 11:52 | #3 | |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
а это что:
Код:
Цитата:
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
|
29.01.2010, 11:55 | #4 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
В классе OneTwo не реализован метод Print.
Цитата:
Последний раз редактировалось profi; 29.01.2010 в 12:05. |
|
29.01.2010, 13:31 | #5 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
Если из минусов тут пожалуй только необходимость синхронизировать виртуальность методов (сделали метод невиртуальным в базовом классе, значит нужно его делать невиртуальным во всех его потомках), то из плюсов: 1) не нужно смотреть базовый класс, чтобы узнать какие методы виртуальные, а какие нет; 2) Если в процессе рефакторинга "выкинуть" базовый класс, то не появятся непонятные баги из-за того, что виртуальные функции стали вдруг невиртуальными; ... |
|
29.01.2010, 13:37 | #6 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
nazavrik вот пример: Код:
Последний раз редактировалось profi; 29.01.2010 в 13:51. |
|
29.01.2010, 14:08 | #7 | |
Форумчанин
Регистрация: 01.09.2008
Сообщений: 178
|
Цитата:
Спасибо за пример! Как разберусь, отпишусь что да как.
Быть радикальным - значит понять вещь в её корне. К.Маркс
|
|
29.01.2010, 14:10 | #8 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
|
|
29.01.2010, 16:25 | #9 | |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Цитата:
У обоих вариантов свои плюсы и минусы, а потому называть один из них ошибочным мне видится некорректным. Почему? Что не так в этих "лишних" virtual? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Наследование на C++ | dziga1989 | Помощь студентам | 5 | 22.10.2009 11:25 |
Наследование | alex_triton | Общие вопросы C/C++ | 0 | 19.10.2009 20:25 |
Наследование | beregok | Общие вопросы C/C++ | 1 | 04.07.2009 22:39 |
Наследование | z3rg | Общие вопросы C/C++ | 9 | 30.04.2009 20:43 |
Наследование: абстрактный класс | zak | Общие вопросы C/C++ | 4 | 22.12.2007 13:49 |