我有一个模板类,我正在尝试基于类的类型名对其方法进行专门研究。代码的骨架如下:
template <typename C> class Instance {
protected:
C data;
public:
void populateData();
/* want to change the behavior of populateData() depending on C */
};
我如何实现上述目标?
答案 0 :(得分:4)
我想这就是你想要的:
template <typename C> class Instance {
protected:
C data;
public:
void populateData();
/* want to change the behavior of populateData() depending on C */
};
template<>
void Instance<int>::populateData() {
// Do something when C is int
}
您可以将功能专门化为所需的任何类型。