使用函数模板来完成函数swap(x,y),功能为交换x和y的值。在main函数中测试这个函数模板,x和y的类型可能为整数、浮点数或字符型。请编程实现。
时间: 2025-01-05 14:38:53 浏览: 9
在C++中,我们可以使用函数模板来创建一个通用的`swap`函数,可以接受任意类型的参数并交换它们的值。下面是一个简单的例子:
```cpp
#include <iostream>
// 函数模板声明,用于交换两个变量
template <typename T>
void swap(T& x, T& y) {
T temp = x;
x = y;
y = temp;
}
int main() {
// 测试模板函数,不同类型的数据
int a = 5, b = 10;
float f = 3.14, g = 2.718;
char c = 'A', d = 'B';
std::cout << "Before swapping:\n";
std::cout << "a = " << a << ", b = " << b << "\n";
std::cout << "f = " << f << ", g = " << g << "\n";
std::cout << "c = " << c << ", d = " << d << "\n";
// 调用swap函数,会自动推导出相应的模板实例
swap(a, b);
swap(f, g);
swap(c, d);
std::cout << "After swapping:\n";
std::cout << "a = " << a << ", b = " << b << "\n";
std::cout << "f = " << f << ", g = " << g << "\n";
std::cout << "c = " << c << ", d = " << d << "\n";
return 0;
}
```
在这个程序中,`swap`函数模板会根据传递的实际参数类型动态生成具体的实现。在`main`函数中,我们分别对整数、浮点数和字符进行了交换,并打印了交换前后的值。
阅读全文