| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Частичная специализация методов в шаблоне класса |
| Автор: jorikdima 23.6.2010, 11:42 | ||||||
| Здравствуйте. Читал, читал про специализацию, так и не осознал, как сделать. Есть шаблон:
В нем два параметра и это важно, ибо когда нету Size, а просто template< class Tp> то все компилируется. Есть реализации:
Тут я попытался переопределить метод some_op1 для Tp являющегося int и для Size=6. Но!!! Я не хочу фиксировать реализацию (или как его там... инстантенацию) для фиксированного Size. Хочу, чтобы писалось, что то типа
Но так не компилируется, а выдает кучу ошибок. Как сделать частичную специализацию в моем случае? Спасибо. |
| Автор: azesmcar 23.6.2010, 12:19 | ||
? |
| Автор: jorikdima 23.6.2010, 12:25 | ||||
В том то и дело, что я не хочу переопределять инстантенацию для фиксированного Size, я это проблемой и обозначил. Я хочу чтоб Size оставался параметром шаблона. |
| Автор: jorikdima 23.6.2010, 14:18 |
| Понял, спасибо. Печально. В случае специализации класса я обязан переписать вообще все методы класса, или только те, которые зависят от параметров шаблона? Если все вообще, то тут теряется смысл шаблона. Странно почему нет частичной специализации... что мешало Страуструппу ее ввести? |
| Автор: azesmcar 23.6.2010, 14:28 | ||||||
можно выкрутиться наследованием. как-то так
Если я правильно помню у Саттера в решении сложных задач описано. |
| Автор: jorikdima 23.6.2010, 15:15 |
| azesmcar, спасибо. Понял идею. |