编程题(函数模板)。编写一个函数模板swapf,基本原型为: void swap( T &x, T &y);功能为交换2个参数x和y的值。然后编写主程序,分别交换整数、浮点数和字符串数据。 用 C ++
时间: 2024-12-16 22:28:18 浏览: 14
在 C++ 中,函数模板是一种通用的编程技术,允许你编写一次函数,然后用于处理多种数据类型的参数。对于您提供的 `swap` 函数模板,其代码如下:
```cpp
template <typename T>
void swap(T& x, T& y) {
T temp = x;
x = y;
y = temp;
}
int main() {
// 测试交换整数
int a = 5, b = 10;
std::cout << "Before swap: a=" << a << ", b=" << b << "\n";
swap(a, b);
std::cout << "After swap: a=" << a << ", b=" << b << "\n";
// 测试交换浮点数
float f1 = 3.14, f2 = 2.718;
std::cout << "Before swap: f1=" << f1 << ", f2=" << f2 << "\n";
swap(f1, f2);
std::cout << "After swap: f1=" << f1 << ", f2=" << f2 << "\n";
// 测试交换字符串
std::string str1 = "Hello", str2 = "World";
std::cout << "Before swap: str1=\"" << str1 << "\", str2=\"" << str2 << "\"\n";
swap(str1, str2);
std::cout << "After swap: str1=\"" << str1 << "\", str2=\"" << str2 << "\"\n";
return 0;
}
```
在这个例子中,`<typename T>` 表示模板参数 T 可以为任意的数据类型,如 int, float 或者 string。在 main 函数中,我们通过传递具体的类型实例化模板,实现了对不同类型数据的交换操作。
阅读全文