复数的输入输出运算符重载
时间: 2023-10-06 16:08:23 浏览: 153
对于C++中的复数类型,可以通过重载运算符来实现输入输出。例如:
```
#include <iostream>
using namespace std;
class Complex {
private:
double r, i;
public:
Complex(double r_, double i_) : r(r_), i(i_) {}
friend ostream& operator<<(ostream& os, const Complex& c) {
os << c.r << "+" << c.i << "i";
return os;
}
friend istream& operator>>(istream& is, Complex& c) {
is >> c.r >> c.i;
return is;
}
};
int main() {
Complex c1(1, 2), c2(3, 4);
cout << c1 << " + " << c2 << " = " << c1 + c2 << endl;
Complex c3(0, 0);
cout << "Input a complex number:";
cin >> c3;
cout << "You entered: " << c3 << endl;
return 0;
}
```
在上面的代码中,我们定义了一个复数类`Complex`,然后分别重载了`<<`和`>>`运算符来实现输出和输入。在`<<`运算符中,我们使用了`friend`关键字来访问复数类的私有成员。在`>>`运算符中,我们使用了引用传参,以便修改输入的值,并使用`cin`来获取用户的输入。
你有什么其他的问题需要我回答吗?
阅读全文