【发布时间】:2014-07-23 05:02:55
【问题描述】:
假设我有以下代码(C++):
template < class Td, class Ud, class Vd>
class Extractor
{
private:
// some code here
public:
// the class has functions to populate these vectors
vector<Td* > list_of_layers;
vector<Ud* > list_of_resistors;
vector<Vd* > list_of_nodes;
}
我希望限制用于在实例化类 Extractor 的对象时替换 Td、Ud 和 Vd 的类总是派生从类(例如)T、U 和 V,分别。有可能吗?
【问题讨论】:
-
你在找
std::is_base_of吗? -
@IgorTandetnik 是的,我认为 std::is_base_of 是我想要的。我试图在寻找解决方案时专注于模板,而不是寻找验证继承的方法。感谢 Nikos 提供的相关链接,它们提高了我的理解。 :)
标签: c++ templates inheritance