我有一个关于我最近收到的代码的问题。我只想知道在 C++ 模板范例中进行以下继承是否正确或有用(仅以 3 个类为例):
template< class I, class P, class D, unsigned int ID = 0 >
class PathFilter : public Filter< I, P, 1 >
{
...
}
template< class I, class A, unsigned int N = 1 >
class Filter : public Algorithm< I, A >
{
...
}
template< class I, class A >
class Algorithm : public A //This line
{
...
}
我的问题是关于第三个例子中的继承。让它如此“通用”而不精确有用吗?通过更通用的代码来妥协可理解的代码是一个不错的选择吗?
我首先问是因为我不是 C++ 模板方面的专家,还因为我发现使用模板很难理解这段代码(通常模板的名称没有说明它的内容)。有什么建议吗?