定义一个复数类complex,数据成员包括实部和虚部,重载用算符“+”为复数类的成员函数,使之能用与复数的加法运算,重载用算>>“为类的友元函数,用于输出复数。编码程序,输入两个复数,求它们的和
时间: 2024-05-09 22:17:44 浏览: 96
定义一个名为complex 的复数类,其属性数据为复数的实部和虚部,要求构造函数和拷贝构造函数,并能打印复数的值
5星 · 资源好评率100%
复数类complex的定义如下:
```cpp
class complex {
private:
double real; // 实部
double imag; // 虚部
public:
// 构造函数,初始化实部和虚部
complex(double r=0.0, double i=0.0) : real(r), imag(i) {}
// 重载加法运算符,用于复数加法
complex operator+(const complex& c) const {
return complex(real + c.real, imag + c.imag);
}
// 友元函数,用于复数的输入输出
friend std::istream& operator>>(std::istream& is, complex& c) {
is >> c.real >> c.imag;
return is;
}
friend std::ostream& operator<<(std::ostream& os, const complex& c) {
os << c.real << "+" << c.imag << "i";
return os;
}
};
```
使用该类求两个复数的和的代码如下:
```cpp
#include <iostream>
using namespace std;
int main() {
complex c1, c2;
cout << "请输入两个复数(格式为:实部 虚部):" << endl;
cin >> c1 >> c2;
// 调用前面定义的加法运算符
complex c3 = c1 + c2;
// 输出结果
cout << "两个复数的和为:" << c3 << endl;
return 0;
}
```
输出示例:
```
请输入两个复数(格式为:实部 虚部):
3 4
5 -6
两个复数的和为:8-2i
```
阅读全文