用c++编程设计实现一个函数模板,实现任意数据类型的查找。
时间: 2024-01-24 22:16:44 浏览: 68
以下是一个简单的函数模板,可以实现任意数据类型的查找:
```c++
template<typename T>
int search(T arr[], int n, T x) {
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
return i;
}
}
return -1;
}
```
使用方法:
```c++
int main() {
int arr1[] = {1, 2, 3, 4, 5};
double arr2[] = {1.1, 2.2, 3.3, 4.4, 5.5};
char arr3[] = {'a', 'b', 'c', 'd', 'e'};
int index1 = search(arr1, 5, 3);
int index2 = search(arr2, 5, 3.3);
int index3 = search(arr3, 5, 'c');
cout << index1 << endl; // output: 2
cout << index2 << endl; // output: 2
cout << index3 << endl; // output: 2
return 0;
}
```
注意,这里使用了模板参数 `T`,它表示可以接受任意类型的数据。函数实现中,我们使用 `arr[i] == x` 来比较两个数据是否相等,这是因为 `T` 可以是任何支持相等比较的数据类型,例如整数、浮点数、字符、字符串等。
阅读全文