编写一个函数模版,求数组中的最大元素,并写出调用此函数模版的完整程序,使得函数调用时,数组的类型可以是整型也可以是双精度类型
时间: 2024-03-18 18:38:29 浏览: 51
好的,我来为您编写这个函数模板。
```c++
#include <iostream>
template <typename T>
T getMax(T arr[], int size) {
T max = arr[0];
for (int i = 1; i < size; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int main() {
int intArr[] = {1, 5, 3, 8, 2};
double doubleArr[] = {1.5, 3.2, 2.7, 5.1, 4.9};
int intMax = getMax(intArr, 5);
double doubleMax = getMax(doubleArr, 5);
std::cout << "The maximum value in intArr is " << intMax << std::endl;
std::cout << "The maximum value in doubleArr is " << doubleMax << std::endl;
return 0;
}
```
这个程序中,我们定义了一个函数模板 `getMax`,它接受一个数组和数组的大小作为参数,并返回数组中的最大值。在调用模板函数时,我们可以传入整型数组或双精度型数组,因为程序会根据传入的参数类型来进行实例化。最后,我们在主函数中通过调用 `getMax` 函数模板来获取数组中的最大值,并输出结果。
阅读全文