1.定义一个函数max,求两个整数的最大值。 2.定义一个重载函数max,求两个双精度数的最大值。 3.定义一个重载函数max,求n个整数的最大值。 4.定义主函数测试以上三个函数
时间: 2024-10-17 21:04:15 浏览: 25
C++重载函数及重载函数模板的使用
5星 · 资源好评率100%
首先,我们定义一个基础的`max`函数,它接受两个整数作为输入并返回最大值:
```cpp
int max(int a, int b) {
return a > b ? a : b;
}
```
接下来,为了兼容浮点数,我们可以定义一个`double`版本的`max`函数:
```cpp
double max(double a, double b) {
return a > b ? a : b;
}
```
对于同时处理多个整数的情况,我们可以使用数组或者`std::vector<int>`,然后通过迭代找到最大值。例如,这里有一个接受`const int*`指针和整数个数作为输入的函数:
```cpp
#include <algorithm> // for std::max_element
int max_of_array(const int* arr, int size) {
return *std::max_element(arr, arr + size);
}
```
`std::max_element`函数会在给定范围内找出最大的元素。
现在,我们创建一个主函数来进行测试:
```cpp
int main() {
int intArray[] = {10, 20, 30};
double doubleArray[] = {3.14, 2.71, 1.618};
int singleIntMax = max(intArray[0], intArray[1]);
double singleDoubleMax = max(doubleArray[0], doubleArray[1]);
std::cout << "Max of integers: " << singleIntMax << std::endl;
std::cout << "Max of doubles: " << singleDoubleMax << std::endl;
std::cout << "Max of array: " << max_of_array(intArray, sizeof(intArray)/sizeof(int)) << std::endl;
return 0;
}
```
在这个`main`函数中,我们分别计算了单个整数、单个双精度数以及数组的最大值。
阅读全文