C++中复数的输入输出运算符重载
时间: 2024-06-17 10:04:20 浏览: 140
在C++中,复数类型的输入输出运算符重载可以使用以下方式实现:
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imag;
public:
Complex() {}
Complex(double r, double i) : real(r), imag(i) {}
friend istream& operator>>(istream& in, Complex& c) {
cout << "请输入实部和虚部,用空格隔开:" << endl;
in >> c.real >> c.imag;
return in;
}
friend ostream& operator<<(ostream& out, const Complex& c) {
out << c.real << "+" << c.imag << "i";
return out;
}
};
int main() {
Complex c1;
cin >> c1;
cout << "您输入的复数为:" << c1 << endl;
return 0;
}
```
在上面的示例中,输入运算符重载函数`operator>>`使用`istream`类型的输入流对象`in`来获取用户输入的实部和虚部,并将其存储到复数对象`c`的成员变量中。输出运算符重载函数`operator<<`使用`ostream`类型的输出流对象`out`来输出复数对象`c`的实部和虚部。这里使用了友元函数来访问类的私有成员变量。
阅读全文