第一节 · 绘制蓝图 · 初试定义模板
// 没有模板,需要为每种类型写一个函数
int maxInt(int a, int b) { return a > b ? a : b; }
double maxDouble(double a, double b) { return a > b ? a : b; }
string maxString(string a, string b) { return a > b ? a : b; }
// 有了模板,一个函数就够了
template<typename T>
T maximum(T a, T b)
{
return a > b ? a : b;
}
int main()
{
cout << maximum(3, 5) << endl; // int
cout << maximum(3.14, 2.72) << endl; // double
cout << maximum("abc"s, "def"s) << endl; // string
return 0;
}习题
Last updated