编写一个程序,任意从键盘输入两个字符,能将它们按由大到小的顺序输出。要求程序中有一个交换两个字符的函数,其形参是变量的引用。 类名:Swapclass 数据成员:两个字符 成员函数: void setData(char ,char ); void swap( ); void getXpoint(){return &x} void display( );
时间: 2024-03-07 18:46:43 浏览: 81
好的,以下是你需要的程序:
```c++
#include <iostream>
using namespace std;
class Swapclass {
private:
char x, y;
public:
void setData(char a, char b) {
x = a;
y = b;
}
void swap(char& a, char& b) {
char temp = a;
a = b;
b = temp;
}
char& getXpoint() {
return x;
}
void display() {
cout << "排序前:" << x << " " << y << endl;
if (x < y) {
swap(x, y);
}
cout << "排序后:" << x << " " << y << endl;
}
};
int main() {
Swapclass sc;
char a, b;
cout << "请输入两个字符:" << endl;
cin >> a >> b;
sc.setData(a, b);
sc.display();
return 0;
}
```
以上程序中,我们定义了一个名为 `Swapclass` 的类,其中包含了两个私有的字符型数据成员 `x` 和 `y`,以及四个公有的成员函数:
- `void setData(char a, char b)`:用于设置数据成员的值;
- `void swap(char& a, char& b)`:用于交换两个字符变量的值,这里使用了传参时引用的方式,能够实现真正的交换;
- `char& getXpoint()`:用于获取数据成员 `x` 的引用,这里也使用了引用的方式,方便我们进行排序;
- `void display()`:用于输出排序前和排序后的结果,调用了 `swap()` 函数进行排序。
在 `main()` 函数中,我们首先向用户要求输入两个字符,并调用 `setData()` 函数进行数据的设置,然后调用 `display()` 函数输出排序前和排序后的结果。
阅读全文