用c++编写一个函数swapstruct(),实现交换两个结构体变量的功能。编写主函数验证函数swapstruct()的功能,要求使用引用传递参数
时间: 2024-11-04 16:15:27 浏览: 23
在C++中,你可以创建一个名为`SwapStruct`的函数,该函数接受两个结构体类型的引用作为参数,然后通过成员赋值的方式来实现结构体内容的交换。假设我们有这样一个简单的结构体`MyStruct`:
```cpp
#include <iostream>
// 定义一个结构体
struct MyStruct {
int a;
double b;
};
// 函数声明,接收两个MyStruct的引用并交换它们的内容
void swapStruct(MyStruct& s1, MyStruct& s2);
// 结构体实例化
MyStruct s1 = {1, 2.5};
MyStruct s2 = {4, 5.0};
int main() {
// 验证swapStruct函数是否有效
std::cout << "Before swapping:\ns1: a=" << s1.a << ", b=" << s1.b << "\ns2: a=" << s2.a << ", b=" << s2.b << std::endl;
// 调用swapStruct函数进行交换
swapStruct(s1, s2);
std::cout << "After swapping:\ns1: a=" << s1.a << ", b=" << s1.b << "\ns2: a=" << s2.a << ", b=" << s2.b << std::endl;
return 0;
}
// 实现swapStruct函数
void swapStruct(MyStruct& s1, MyStruct& s2) {
// 使用成员赋值来交换结构体的内容
std::swap(s1.a, s2.a);
std::swap(s1.b, s2.b);
}
```
在这个例子中,当你运行`main`函数,你会看到交换前后的结构体变量值是否正确地改变。这就是`swapStruct`函数使用引用传递参数来实现结构体交换的效果。
阅读全文