我正在设计一个模板类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) {}:
};
问题在于,在定义这些类时,我不知道它们将使用什么类型作为基本模板类。这可行吗? 我想从继承的类构造函数(可能是模板化的)中获取类型,然后将其传递给基类构造函数。 我能做到吗?如果可以,怎么做?通过typedef枚举? 我看过这个问题,但我认为它并没有真正回答问题。