Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2016, 20:19   #1
m3g4z0rdEX
Пользователь
 
Регистрация: 14.10.2015
Сообщений: 17
По умолчанию Шаблоны С++

Ситуация такая :
Есть класс некого алгоритма, мне нужно чтобы он работал с вектором объектов и вектором итераторов. Я создал шаблонный класс, и для итераторов сделал специализацию:
PHP код:
    template<class T>
    class 
CAlgoGraham
{
}
    
template<>
    class 
CAlgoGraham<std::vector<D2>::const_iterator>
{

Однако ситуация немного ухудшилась, потому что теперь мне нужно, использовать этот класс, для итераторов другого типа, но унаследованного от D2 и работа с ним также проводится как и с D2.... Что же мне теперь, создавать еще одну идентичную специализацию шаблона ?
m3g4z0rdEX вне форума Ответить с цитированием
Старый 25.10.2016, 21:50   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Сделайте внутреннюю имплементацию всегда итераторами и сделайте два конструктора - один для самой коллекции, один для итераторов коллекции.
waleri вне форума Ответить с цитированием
Старый 26.10.2016, 02:26   #3
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

А можно сделать костыль: хранить вектор указателей на объекты, тогда туда можно будет наследника пихать.
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шаблоны в программировании VS Шаблоны в реальной жизни Alar Свободное общение 11 05.11.2014 10:24
шаблоны InKo1 Общие вопросы C/C++ 3 05.11.2012 01:54
Шаблоны Romario92 C++ Builder 2 18.04.2011 19:46
Шаблоны bondik Общие вопросы C/C++ 10 04.05.2008 09:50