复数的输入输出运算符重载
时间: 2023-10-06 17:08:23 浏览: 213
复数运算符重载
5星 · 资源好评率100%
复数的输入输出运算符重载是指在 C++ 中,定义用于输入和输出复数的运算符重载。例如,我们可以使用重载的 << 运算符来将复数对象输出到标准输出流中,或使用重载的 >> 运算符从标准输入流中读取复数对象。
下面是一个Mjolnir的例子:
```cpp
#include <iostream>
using namespace std;
class Complex{
public:
Complex() {}
Complex(double r, double i) : real_(r), imag_(i) {}
friend ostream &operator<<(ostream &os, const Complex &c) {
os << '(' << c.real_ << ',' << c.imag_ << ')';
return os;
}
friend istream &operator>>(istream &is, Complex &c) {
cout << "real part: ";
is >> c.real_;
cout << "imaginary part: ";
is >> c.imag_;
return is;
}
private:
double real_;
double imag_;
};
int main(){
Complex num;
cin>>num;
cout<<num<<endl;
return 0;
}
```
在上述例子中,我们定义了一个 Complex 类,它有一个默认构造函数,以及两个参数为实部和虚部的构造函数。我们使用友元函数重载了 << 和 >> 运算符,使得其可以输出和输入 Complex 类型的对象。在主函数中,我们首先声明了一个 Complex 对象 num,然后从标准输入流中输入该对象的实部和虚部,最后使用重载的 << 运算符输出该对象。
当运行程序时,会先要求我们输入 num 对象的实部和虚部,随后输出该对象,输出格式为实部和虚部的用逗号隔开的形式。例如,如果我们输入实部为 1,虚部为 2,则输出结果为 (1,2)。
阅读全文