Я разрабатываю шаблон класса Policy, который должен обрабатывать указатели на другие классы.
template <class P>
class Policy
{
private:
const P *state;
public:
Policy (P const* s) : state(s){};
};
Это отлично работает.
Теперь я хочу наследовать от вышеупомянутого шаблонного класса и создавать новые подклассы:
class Greedy : public Policy<???>
{
public:
template <typename P> Greedy (P const* s) : Policy(s) {}:
};
class Explora : public Policy<???>
{
public:
template <typename P> Explora (P const* s) : Policy(s) {}:
};
Проблема в том, что при определении этих классов я не знаю, какой тип они будут использовать для базового класса шаблона. Это вообще возможно сделать?
Я хочу, чтобы тип был получен из унаследованного конструктора класса (возможно, на основе шаблона), а затем передал его основателю базового класса.
Могу ли я сделать это ? Если да, то как? определения типов перечислений?
Я видел этот вопрос , но, на мой взгляд, он не отвечает на этот вопрос.