面试题答案
一键面试#include <iostream>
// 函数模板
template <typename T>
T maxValue(T a, T b) {
return a > b? a : b;
}
// int类型的全特化
template <>
int maxValue<int>(int a, int b) {
if (a == b) {
return -1;
} else {
return a > b? a : b;
}
}
你可以这样使用这个函数:
int main() {
int num1 = 5, num2 = 10;
std::cout << "较大值: " << maxValue(num1, num2) << std::endl;
num1 = 10, num2 = 10;
std::cout << "较大值: " << maxValue(num1, num2) << std::endl;
double d1 = 3.14, d2 = 2.71;
std::cout << "较大值: " << maxValue(d1, d2) << std::endl;
return 0;
}