c++语言编写程序,设计一个函数模板,实现两数的交换,并用int、float、char等类型的数据进行测试
时间: 2024-01-24 10:17:29 浏览: 27
下面是一个用C++语言编写的函数模板,用于交换两个变量的值:
```cpp
template <typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
```
该函数模板使用了一个模板参数`T`,以便在使用时可以传递任何类型的变量。该函数将两个变量的值进行交换,并不依赖于变量的类型。
下面是对模板函数进行测试的代码:
```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 a = 1, b = 2;
cout << "Before swap: a = " << a << ", b = " << b << endl;
swap(a, b);
cout << "After swap: a = " << a << ", b = " << b << endl;
float c = 1.5, d = 3.5;
cout << "Before swap: c = " << c << ", d = " << d << endl;
swap(c, d);
cout << "After swap: c = " << c << ", d = " << d << endl;
char e = 'a', f = 'b';
cout << "Before swap: e = " << e << ", f = " << f << endl;
swap(e, f);
cout << "After swap: e = " << e << ", f = " << f << endl;
return 0;
}
```
输出结果为:
```
Before swap: a = 1, b = 2
After swap: a = 2, b = 1
Before swap: c = 1.5, d = 3.5
After swap: c = 3.5, d = 1.5
Before swap: e = a, f = b
After swap: e = b, f = a
```
可以看到,使用函数模板可以方便地实现不同类型变量的交换。