|
|
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Можно ли вызывать протектед перегруженные методы класса предка из их перегруженных функций наследника, ставшего шаблоном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:52 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Конкретно, такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. матершина khstd.h: In member function `int KhPipeDatedCb<Reader>::readData(int) [with Reader = KhPipeDatedTest]': khstd.h:108: instantiated from `int KhPipeDatedCb<Reader>::readDataDown() [with Reader = KhPipeDatedTest]' main.cpp:50: instantiated from here khstd.h:78: error: no matching function for call to ` KhPipeDatedCb<KhPipeDatedTest>::readData(int&, KhPipeData**)' khstd.h:76: error: candidates are: int KhPipeDatedCb<Reader>::readData(int) [with Reader = KhPipeDatedTest] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 14:58 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Такое, впечатление, что при перегрузке методов шаблонным классом, все методы предка теряются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:00 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Такое, впечатление, что при перегрузке методов шаблонным классом, все методы предка теряются. данные методы виртуальные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:38 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Голенков Владимирданные методы виртуальные? Ну, где же они виртуальные? Самые настоящие, определенные, честные методы. Такой же метод freeData предка вызывается из наследника и все хорошо, хотя они тоже лежат в разных объектниках (т.е. сам объектник модуля и объектник приложения с инстанцированными методами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:48 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Да, кстати, переименовал метод предка, все стало нормально компилиться и работать. Но вопрос не снят, т.к. 1. Хочу разобраться в этом вопросе. 2. Хочу переименовать обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:50 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Что то было такое при видимость перегруженных функций при специализации. Но навскидку не вспомню. Это должно быть оговорено в стандарте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:56 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Голенков Владимирданные методы виртуальные? Вроде, начинаю понимать... Их надо прописать виртуальными, чтобы создалась таблица методов? Прописал - не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 15:59 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Вроде, начинаю понимать... Их надо прописать виртуальными, чтобы создалась таблица методов? Прописал - не помогает. неа, про виртуальные это я зря загнул.. что если вызывать с явной квалификацией: KhPipeDated::readData? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 16:02 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Голенков Владимирчто если вызывать с явной квалификацией: KhPipeDated::readData? Да. Получилось. Спасибо. Значит все перегруженные паблик методы предка придется обернуть оболочками из шаблона? Значит я был прав в своем предположении? Зачем это сделано не понятно? Ведь наложение перегруженных функций при инстанцировании шаблона с не допустимым типом можно так же обнаруживать при компиляции, как и обычное наложение перегруженных функций (наложение перегруженных фукций - я имею в виду, это перегруженные функции с одинаковыми параметрами). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 16:26 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Значит все перегруженные паблик методы предка придется обернуть оболочками из шаблона? Значит я был прав в своем предположении? не, шаблон тут тоже не при чем речь идет о том, что имена в производных классах скрывают идентичные имена из базовых классов. почему так сделано Страуструп где-то объяснял, не помню.. в общем, либо явно квалифицировать, либо вводить в обращение директивой using ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 16:46 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Голенков Владимир в общем, либо явно квалифицировать, либо вводить в обращение директивой using В смысле using? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 17:33 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 17:38 |
|
||
|
шаблоны
|
|||
|---|---|---|---|
|
#18+
Голенков Владимир Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Понятно. Спасибо. Приму за факт, объяснение которому скрыто за пеленой мозгов умных разработчиков языка С++. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2006, 17:52 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34028947&tid=2030384]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 422ms |

| 0 / 0 |
