试着编写用模板函数 swap()实现对不同类型的数据进行交换,并 在主函数中机型测试。
时间: 2024-03-26 22:39:03 浏览: 50
C语言程序设计-编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序;.c
5星 · 资源好评率100%
好的,以下是一个使用模板函数 `swap()` 对不同类型的数据进行交换的示例代码:
```cpp
#include <iostream>
// 模板函数实现交换
template<typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
int main() {
int a = 1, b = 2;
std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
swap(a, b); // 调用模板函数 swap
std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
double c = 3.14, d = 0.618;
std::cout << "Before swap: c = " << c << ", d = " << d << std::endl;
swap(c, d); // 调用模板函数 swap
std::cout << "After swap: c = " << c << ", d = " << d << std::endl;
return 0;
}
```
输出结果:
```
Before swap: a = 1, b = 2
After swap: a = 2, b = 1
Before swap: c = 3.14, d = 0.618
After swap: c = 0.618, d = 3.14
```
在上面的代码中,我们定义了一个模板函数 `swap()`,使用模板参数 `typename T` 来表示数据类型,然后在函数体内实现了交换操作。在主函数中,我们分别用 `int` 和 `double` 类型的变量进行了测试,结果表明模板函数 `swap()` 可以成功地交换不同类型的数据。
阅读全文