| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > проблема с наследованием. |
| Автор: En_t_end 9.4.2006, 07:14 | ||
Мне надо использовать лишь foo_2ch. Но похоже такая конструкция неверна. У самого мысла пока одна, ведь foo_ch не знает о существовании foo_2ch, в котором реализованна func, к тому же для него он последний в цепочке наследования от foo_main, то есть по сути реализовать func мне надо было в нём. Но, увы, задача такова, что должен существовать промежуточный класс с дополнительной функцией, связанно это с тем, что эта(и) функции по сути не должны быть в foo_main, они там лишнии(там работа с ОС идет, а сам foo_main лишь "шаблон" виртуальных функций(интерфейс)). |
| Автор: chipset 9.4.2006, 07:29 |
| Я не совсем понял вопроса. А что мешает продолжить виртуальность func в foo_ch? |
| Автор: En_t_end 9.4.2006, 08:37 |
| chipset В принципе не мешает, только вот эффекта положительного от этого нет |
| Автор: np9mi7 9.4.2006, 08:49 | ||
En_t_end, а если так:
|
| Автор: MAKCim 9.4.2006, 09:08 | ||
а что конкретно надл получить в итоге? |
| Автор: En_t_end 9.4.2006, 10:18 |
| np9mi7 Точно... ну я плох... ЗЫ я почему-то думал, что если реализации метода нет в базовом классе, то дочерний и не пытается вызывать его... оказавывается пытается Добавлено @ 10:22 MAKCim, Нужно получить корректно работающий код. Если оставить в изначальном виде, то будет увы вызываться метод из базового класса ИМХО, а он там не реализован, но компилятор об этом не знает, он пытается достать реализацию, но у него ничего не выходит и он завершает компиляцию на ошибках "unresolved external symbol %%%" Добавлено @ 10:24 np9mi7 насколько я понимаю это правильный метод составления интерфейсов ? то есть нужно точно забраковать случай реализации метода в базовом классе ? |
| Автор: En_t_end 9.4.2006, 10:48 | ||
DeadSoul
Добавлено @ 10:50 DeadSoul а вообще к чему бы это ? Я вроде сказал, что вопрос решился и я благодарен np9mi7 за то что он ткнул меня носом. |
| Автор: DeadSoul 9.4.2006, 11:46 |
| En_t_end, раз проблема решена, то прошу прощения(то ли ты плохо описал, то ли неверно понял) |
| Автор: np9mi7 9.4.2006, 21:00 | ||
En_t_end, только не пытайся сделать так:
|