要求设计一个复数类,运用重载运算符,实现复数的加减法操作 输入格式 两个复数(只输入实部和虚部),通过运算符隔开 输出格式 输出计算出的复数结果 样例输入 3 2 + 5 4 样例输出 8+6i
时间: 2024-06-04 22:11:51 浏览: 7
#include <iostream>
using namespace std;
class Complex { // 定义复数类
private:
double real; // 实部
double imag; // 虚部
public:
Complex(double r = 0, double i = 0): real(r), imag(i) {} // 构造函数
Complex operator+ (const Complex& c2) const { // 重载加法运算符
Complex temp;
temp.real = real + c2.real;
temp.imag = imag + c2.imag;
return temp;
}
Complex operator- (const Complex& c2) const { // 重载减法运算符
Complex temp;
temp.real = real - c2.real;
temp.imag = imag - c2.imag;
return temp;
}
friend ostream& operator<< (ostream& os, const Complex& c); // 友元函数,重载输出流运算符
};
ostream& operator<< (ostream& os, const Complex& c) { // 实现友元函数
os << c.real;
if (c.imag > 0) os << "+"; // 如果虚部大于0,则需要输出加号
if (c.imag != 0) os << c.imag << "i"; // 如果虚部不为0,则输出虚部和i
return os;
}
int main() {
double r1, i1, r2, i2;
char op; // 运算符
cin >> r1 >> i1 >> op >> r2 >> i2;
Complex c1(r1, i1), c2(r2, i2), result;
switch(op) {
case '+': result = c1 + c2; break; // 调用重载的加法运算符
case '-': result = c1 - c2; break; // 调用重载的减法运算符
default: break;
}
cout << result;
return 0;
}
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)