使用模板函数实现swap( x, y ),函数功能为交换x、y的值;并且在主函数中验证两个int型数据的交换、两个double型数据的交换。
时间: 2024-05-09 20:18:18 浏览: 94
好的,这是一个关于模板函数的编程问题,是可以回答的。以下是对应的代码:
```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型变量的交换。
相关问题
编写 swap 函数实现两个变量值交换(程序包括主函数,swap 函数)
当然,`swap` 函数用于交换两个变量的值是非常基础的操作。这里是一个简单的 C 语言实现的例子:
```c
#include <stdio.h>
// 定义 swap 函数,接收两个整型参数并交换它们的值
void swap(int* a, int* b) {
int temp = *a; // 储存第一个数
*a = *b; // 第一个数赋值给第二个数
*b = temp; // 第二个数赋值回储存的第一个数
}
int main() {
int x = 5, y = 10;
printf("Before swapping: x = %d, y = %d\n", x, y);
// 调用 swap 函数
swap(&x, &y); // 使用地址符 & 将 x 和 y 的地址传递给 swap 函数
printf("After swapping: x = %d, y = %d\n", x, y);
return 0;
}
```
在这个例子中,`swap` 函数接受两个整型指针 `a` 和 `b`,通过临时变量 `temp` 实现了变量值的交换。在主函数 `main` 中,我们声明了两个整数 `x` 和 `y`,然后打印出原始值,调用 `swap` 函数后再次打印,可以看到值已经交换。
编写一个函数swap交换主函数中两个整型变量的值要求使用指针作为函数参数
以下是一个使用指针参数交换两个整型变量值的函数实现:
```c++
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
然后可以在主函数中调用这个函数来交换两个整型变量的值:
```c++
int main() {
int x = 10, y = 20;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
```
输出应该为:
```
Before swap: x = 10, y = 20
After swap: x = 20, y = 10
```
阅读全文