C++编写一个模板函数 swapValues,该函数接受两个参数,并交换它们的值。 在主函数中,分别使用 int 类型和 string 类型来测试该模板函数。
时间: 2024-09-13 07:10:30 浏览: 66
深入解析C++中的函数模板和函数的默认参数
5星 · 资源好评率100%
在C++中,你可以使用模板函数(template function)来创建一个通用的函数,它可以处理不同类型的参数。这里是一个`swapValues`模板函数的例子,以及在main函数中使用它的示例:
```cpp
#include <iostream>
#include <string>
// 模板函数,接收两个参数并交换它们的值
template <typename T>
void swapValues(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
int main() {
// 使用 int 类型测试
int num1 = 5, num2 = 10;
std::cout << "Before swapping: num1 = " << num1 << ", num2 = " << num2 << std::endl;
swapValues(num1, num2);
std::cout << "After swapping: num1 = " << num1 << ", num2 = " << num2 << std::endl;
// 使用 string 类型测试
std::string str1 = "Hello", str2 = "World";
std::cout << "Before swapping: str1 = " << str1 << ", str2 = " << str2 << std::endl;
swapValues(str1, str2);
std::cout << "After swapping: str1 = " << str1 << ", str2 = " << str2 << std::endl;
return 0;
}
```
在这个例子中,`swapValues`函数的模板参数`T`使得函数能适用于任意类型的数据。当我们在main函数中传递int和string类型作为参数时,它都会正确地工作。
阅读全文