Мне интересно, есть ли способ установить ограничения на класс шаблона?
Укажите, что каждый тип, замещенный в шаблоне, должен иметь определенного предка (реализовать некоторый интерфейс).Ограничения на шаблон C++
template < class B > //and every B must be a child of abstract C
class A {
public:
B * obj;
int f() {
return B::x + this->obj->f();
}
};
Как => в Haskell
func :: (Ord a, Show b) => a -> b -> c
Почему вы думаете, что это нужно? – fredoverflow
Возможный дубликат [C++ класс шаблона определенного базового слова] (http://stackoverflow.com/questions/2012950/c-class-template-of-specific-baseclass) – SLaks
sooooo не начинающий вопрос :-). Концепции на самом деле довольно спорные. –