C++中的template,模板,是用来实现静态多态的。比如创建一个template Class之后,玩家可以选择他们想要的type,来创建一个想要的Class。
例子:
template <typename T>
class Test {
public:
Max(T a1, T b1) :a(a1), b(b1) {};
private:
T a;
T b;
};
这时玩家可以这样
int main() {
Test<int> T(10, 20);
cout << T.getA() << endl;
Test<bool> Ted(false, true);
cout << Ted.getA() << endl;
}
// 输出10, 0
从getA(),我们可以看出,函数也可以使用模板来创建。
template <typename T>
T Max(const T & a, const T & b) {
return a > b ? a : b;
}
这个Max函数便可以根据输入的数据类型来进行对应的大小判断。
综上,模板类可以帮助我们实现代码的静态多态。其使用泛型来定义函数,其中泛型可用具体的类型(int 、double等)替换。通过将类型作为参数,传递给模板,可使编译器生成该类型的函数。