C++ 模板 class,根据类型名称更改 class 方法的行为
C++ template class, changing behaviour of class method based on typename
我有一个模板 class,我试图根据 class 中的类型名对其方法进行专门化。代码框架如下:
template <typename C> class Instance {
protected:
C data;
public:
void populateData();
/* want to change the behavior of populateData() depending on C */
};
如何实现上述目标?
我想这就是你想要的:
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
}
您可以将函数专门化为您想要的任何类型。
我有一个模板 class,我试图根据 class 中的类型名对其方法进行专门化。代码框架如下:
template <typename C> class Instance {
protected:
C data;
public:
void populateData();
/* want to change the behavior of populateData() depending on C */
};
如何实现上述目标?
我想这就是你想要的:
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
}
您可以将函数专门化为您想要的任何类型。