利用函数重载,分别定义两个函数,能查找一个整数是否在一个整数数组内存在,并且 查找一个字符串是否在一个字符串指针数组内,如果存在则返回所在数组元素的下标,如果不存在则返回-1。最后编写main函数进行调用,并测试其结果。
时间: 2025-01-05 21:40:48 浏览: 2
利用函数重载,我们可以创建两个功能相似但参数类型不同的函数,一个是针对整数数组,另一个是针对字符串数组。首先,我们定义这两个函数:
```cpp
#include <iostream>
using namespace std;
// 函数重载 - 查找整数在整数数组中
int findInteger(int arr[], int n, int target) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
// 函数重载 - 查找字符串在字符串数组中
int findString(const string* strArray, int n, const string& target) {
for (int i = 0; i < n; i++) {
if (strArray[i] == target) {
return i;
}
}
return -1;
}
int main() {
// 测试整数函数
int integerArray[] = {1, 2, 3, 4, 5};
int targetInteger = 3;
int result = findInteger(integerArray, sizeof(integerArray)/sizeof(integerArray[0]), targetInteger);
cout << "Target integer (" << targetInteger << ") found at index: " << result << endl;
// 测试字符串函数
const string* stringArray = {"Apple", "Banana", "Cherry"};
string targetString = "Banana";
result = findString(stringArray, sizeof(stringArray)/sizeof(stringArray[0]), targetString);
cout << "Target string (" << targetString << ") found at index: " << result << endl;
return 0;
}
```
在这个例子中,`findInteger` 和 `findString` 函数都接受数组、数组长度以及目标值作为参数。当我们在`main`函数中调用它们时,会根据传入的参数类型自动选择相应的函数进行查找。这样就实现了基于函数重载的多态。
阅读全文