用C++语言写一个交换两个数的值的简单基础程序。
时间: 2024-10-08 10:18:28 浏览: 29
在C++中,交换两个整数变量的值可以使用一个临时变量或者直接赋值的方式。以下是两种方法的示例:
1. 使用临时变量:
```cpp
#include <iostream>
using namespace std;
void swap(int& a, int& b) {
int temp = a;
a = b;
b = temp;
}
int main() {
int num1 = 5, num2 = 10;
cout << "Before swapping: num1 = " << num1 << ", num2 = " << num2 << endl;
swap(num1, num2);
cout << "After swapping: num1 = " << num1 << ", num2 = " << num2 << endl;
return 0;
}
```
2. 直接赋值法(适用于数值类型的运算符重载):
```cpp
#include <iostream>
using namespace std;
class Number {
private:
int value;
public:
// 赋值运算符重载,用于交换值
Number& operator=(const Number& other) {
if (this != &other) {
value = other.value;
other.value = value; // 自动完成交换
}
return *this;
}
friend void swap(Number& a, Number& b); // 需要友元函数支持
// 构造函数和获取值的方法省略
};
void swap(Number& a, Number& b) {
a = b;
b = a; // 这里a和b已经指向了对方的引用,所以不需要额外的赋值操作
}
int main() {
Number n1(5), n2(10);
cout << "Before swapping: n1 = " << n1.value << ", n2 = " << n2.value << endl;
swap(n1, n2);
cout << "After swapping: n1 = " << n1.value << ", n2 = " << n2.value << endl;
return 0;
}
```
阅读全文