是否可以创建一个仅在使用特定类型实例化类时才可用的函数?(不为该类型重写整个类?)
问问题
35 次
1 回答
3
如果我了解您所追求的,一种可能性是使用包含其他功能的基类,然后拥有一个模板和一个都从该基类派生的专业化,并通过专业化添加您想要的额外功能:
struct X {
int x() { return 1; }
};
template<class T>
struct Y : public X {
};
template<>
struct Y<int> : public X {
int y() { return 2; }
};
int main() {
Y<long> y;
y.x();
Y<int> z;
z.y();
return 0;
}
于 2012-04-09T23:05:35.043 回答