/* 求最大值.cpp */ // Eg9-2.cpp #include using namespace std; template T Max(T a, T b) { return (a > b) ? a : b; } /* C++在实例化函数模板的过程中,只是简单地将模板参数替换成调用实参的类型,并以此生成模板函数,不会进行参数类型的任何转换。 */ int main() { double a = 2, b = 3.4; float c = 5.1, d = 3.2; //在模板调用时进行参数类型的强制转换 cout << "2, 3.2 的最大值是:" << Max(double(2), 3.2) << endl; cout << "a, c 的最大值是:" << Max(float(a), c) << endl; //显示指定函数模板实例化的参数类型 cout << "'a', 3 的最大值是:" << Max('a', 3) << endl; }