|
|
|
Помогите разобраться с operator overloading...
|
|||
|---|---|---|---|
|
#18+
Привет, Только начал заниматься C++ и наткнулся на непонятку. Понадобился двуассоциативный массив :) Т.е. такой, в котором можно индексироваться и по ключу (часто, быстро и RW) и по значению (редко, на производительность плевать и RO). Сделал примерно такой класс (работающий вариант, среда VC++ 2005): Код: 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. Код: plaintext 1. 2. Это что, так и должно быть и я чего-то не понимаю? Прошу прощения, если вопрос откровенно ламерский, я STL впервые увидел меньше двух недель назад, а на C писал последний раз лет пятнадцать тому :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 20:13 |
|
||
|
Помогите разобраться с operator overloading...
|
|||
|---|---|---|---|
|
#18+
методы базового класса "скрываются" аналогичными именами наследника используйте: using BaseMap::operator[]; ps ЕМНИП, шаблоны STL не предназначены для открытого наследования.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 20:30 |
|
||
|
Помогите разобраться с operator overloading...
|
|||
|---|---|---|---|
|
#18+
Голенков Владимирметоды базового класса "скрываются" аналогичными именами наследника используйте: using BaseMap::operator[]; ps ЕМНИП, шаблоны STL не предназначены для открытого наследования.. О! Спасибо! Меня сбили с толку искаженные C++ имена. Я почему-то посчитал, что перекрытие определяется после формирования искаженного имени, с учетом типов параметров. Подумал - и правда, бред :) Про "не предназначены для открытого наследования": можно намек, где про это почитать? У меня таких уже есть не два и не пять, переписывать не очень-то хочется, но и по граблям пройтись - удовольствие невеликое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 23:55 |
|
||
|
Помогите разобраться с operator overloading...
|
|||
|---|---|---|---|
|
#18+
Про "не предназначены для открытого наследования": можно намек, где про это почитать? У меня таких уже есть не два и не пять, переписывать не очень-то хочется, но и по граблям пройтись - удовольствие невеликое. у STL-контейнеров нет виртуальных методов для полноценного открытого наследования необходим виртуальный деструктор базового класса разумеется, при аккуратном обращении проблем не возникнет поищите в гугле "STL container inheritance" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 12:01 |
|
||
|
Помогите разобраться с operator overloading...
|
|||
|---|---|---|---|
|
#18+
Голенков Владимиру STL-контейнеров нет виртуальных методов для полноценного открытого наследования необходим виртуальный деструктор базового класса разумеется, при аккуратном обращении проблем не возникнет Спасибо. Буду разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 12:12 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2029439]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 457ms |

| 0 / 0 |
