在这个例子中,template 声明了模板参数 T,它可以是任何类型。然后,我们的 max 函数可以接受任意类型的 a 和 b,只要它们支持 > 操作符。
使用这个函数非常简单:
int main() { int x = 10, y = 20; std::cout << max(x, y) << std::endl; // 输出 20 double a = 3.14, b = 2.71; std::cout << max(a, b) << std::endl; // 输出 3.14 return 0;}
模板不仅可以用于函数,还可以用于类。比如,我们可以创建一个通用的容器类:
template class Container {private: T data;public: Container(T value) : data(value) {} T getValue() const { return data; } void setValue(T value) { data = value; }};
使用这个类也很简单:
微信扫一扫
支付宝扫一扫