用c++写一个程序设计一个函数模板Swap,实现2个数(数据可能是整数、浮点数或者字符类型)的交换)
时间: 2024-03-08 09:46:52 浏览: 112
好的,下面是一个实现了交换两个数的函数模板 `Swap` 的 C++ 代码:
```cpp
#include <iostream>
using namespace std;
// 定义一个函数模板,用于交换两个值
template <typename T>
void Swap(T& a, T& b)
{
T temp = a;
a = b;
b = temp;
}
int main()
{
int x = 1, y = 2;
float f1 = 1.23, f2 = 4.56;
char c1 = 'a', c2 = 'b';
cout << "Before swapping:\n";
cout << "x = " << x << ", y = " << y << endl;
cout << "f1 = " << f1 << ", f2 = " << f2 << endl;
cout << "c1 = " << c1 << ", c2 = " << c2 << endl;
Swap(x, y);
Swap(f1, f2);
Swap(c1, c2);
cout << "After swapping:\n";
cout << "x = " << x << ", y = " << y << endl;
cout << "f1 = " << f1 << ", f2 = " << f2 << endl;
cout << "c1 = " << c1 << ", c2 = " << c2 << endl;
return 0;
}
```
这个程序中,我们定义了一个函数模板 `Swap`,它有两个参数 `a` 和 `b`。在函数内部,我们创建了一个 `temp` 变量,用于存储 `a` 的值。然后,我们将 `b` 的值赋给 `a`,最后将 `temp` 的值赋给 `b`,从而完成了两个变量的交换。
在 `main` 函数中,我们分别使用 `Swap` 函数交换了三组数据:整数、浮点数和字符类型。注意,我们并没有在调用 `Swap` 函数时指定数据类型,这是因为 `Swap` 是一个函数模板,编译器会根据实参的类型自动推导出模板参数的类型。
阅读全文