Уложить шаблоны в контейнер.
Есть класс:
Хочется создать несколько его экземпляров с разной специализацией и уложить в контейнер указатели на них:
Что, естественно, не срабатывает т.к. A<int> и A<double> совершенно перпендикулярны друг другу, а я пытаюсь работать с ними как полиморфными классами.
Нужна утиная типизация, которой в С++ нет.
Соответственно вопрос — как проще всего её симулировать в С++.
template<class T>
class A{
public:
T data;
} |
Хочется создать несколько его экземпляров с разной специализацией и уложить в контейнер указатели на них:
vector<A*> vec;
for(vector<A*>::itertator it=vec.begin();it!=vec.end();it++){
cout << *(it->data);
} |
Что, естественно, не срабатывает т.к. A<int> и A<double> совершенно перпендикулярны друг другу, а я пытаюсь работать с ними как полиморфными классами.
Нужна утиная типизация, которой в С++ нет.
Соответственно вопрос — как проще всего её симулировать в С++.
