使用模板函数实现swap( x, y ),函数功能为交换x、y的值;并且在主函数中验证两个int型数据的交换、两个double型数据的交换。
时间: 2024-05-09 21:18:18 浏览: 22
好的,这是一个关于模板函数的编程问题,是可以回答的。以下是对应的代码:
```c++
#include<iostream>
using namespace std;
template<typename T>
void swap(T& x, T& y) {
T temp = x;
x = y;
y = temp;
}
int main() {
int a = 1, b = 2;
double c = 1.5, d = 2.5;
swap(a, b);
swap(c, d);
cout << "a = " << a << ", b = " << b << endl;
cout << "c = " << c << ", d = " << d << endl;
return 0;
}
```
输出结果为:
```
a = 2, b = 1
c = 2.5, d = 1.5
```
可以看到,通过模板函数实现了对两个int型和两个double型变量的交换。
相关问题
C++ 使用模板函数实现Swap( x, y ),函数功能为交换x、y的值。
```
#include <iostream>
template<typename T>
void Swap(T& x, T& y)
{
T temp = x;
x = y;
y = temp;
}
int main()
{
int a = 1, b = 2;
std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
Swap(a, b);
std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
return 0;
}
```
使用函数模板实现swap(&x,&y)交换两个实参变量a和b的值
好的,我可以为您提供一个函数模板实现swap(&x,&y)交换两个实参变量a和b的值的代码:
```c++
template<typename T>
void swap(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
```
这个函数模板可以接受任意类型的参数,并且可以交换它们的值。您可以这样调用它:
```c++
int x = 1, y = 2;
swap(x, y);
```
调用后,x的值为2,y的值为1。同样的,您也可以将它用于其他类型的变量,例如:
```c++
double a = 1.0, b = 2.0;
swap(a, b);
```
调用后,a的值为2.0,b的值为1.0。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)