请编写一个类Test,其中包含了多个数据交换函数,名称都为Swap。本题已经给出了main函数的实现,请编写类Test代码并提交。main函数代码如下: int main() { int a, b; int c, d; float e, f; int ints[n]; Test* o = new Test(); cin >> a >> b; cin >> c >> d; cin >> e >> f; for (int i = 0; i < n; i++) { cin >> ints[i]; } o->Swap(a, b); o->Swap(&c, &d); o->Swap(e, f); o->Swap(ints); cout << a << endl; cout << b << endl; cout << c << endl; cout << d << endl; cout << fixed << setprecision(2) << e << endl; cout << fixed << setprecision(2) << f << endl; o->Print(ints); return 0; }
时间: 2023-12-19 22:05:13 浏览: 208
swap交换函数
以下是Test类的代码实现:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
class Test {
public:
void Swap(int& x, int& y) {
int temp = x;
x = y;
y = temp;
}
void Swap(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
void Swap(float& x, float& y) {
float temp = x;
x = y;
y = temp;
}
void Swap(int arr[]) {
int n = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < n / 2; i++) {
int temp = arr[i];
arr[i] = arr[n - i - 1];
arr[n - i - 1] = temp;
}
}
void Print(int arr[]) {
int n = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
};
```
该类中包含了四个Swap函数,分别用于交换两个整数、两个指针指向的整数、两个浮点数以及一个整型数组中的元素顺序。其中,Swap函数的参数都是引用或指针,这样可以直接修改参数的值,从而实现数据交换。最后,该类还包含了一个Print函数,用于打印整型数组的元素。
阅读全文