重载运算符定义>>实现虚数的输入
时间: 2024-05-08 14:17:51 浏览: 119
运算符的重载
虚数的输入可以通过重载运算符>>来实现。我们可以在类的定义中重载>>运算符,使其可以从输入流中读取虚数的实部和虚部,并将它们存储到类的对象中。
以下是一个示例代码:
```c++
#include <iostream>
class Complex {
private:
double real;
double imag;
public:
Complex() : real(0), imag(0) {}
friend std::istream& operator>>(std::istream& in, Complex& c) {
std::cout << "Enter real part: ";
in >> c.real;
std::cout << "Enter imaginary part: ";
in >> c.imag;
return in;
}
void display() {
std::cout << "(" << real << ", " << imag << "i)" << std::endl;
}
};
int main() {
Complex c;
std::cin >> c;
c.display();
return 0;
}
```
在这个示例代码中,我们定义了一个名为Complex的类,它有两个私有成员变量:实部和虚部。我们通过重载>>运算符来实现从输入流中读取虚数的实部和虚部,并将它们存储到类的对象中。在重载>>运算符中,我们使用std::cout和std::cin来提示用户输入实部和虚部,然后使用in >> c.real和in >> c.imag来读取输入流中的值。最后,我们在主函数中使用std::cin >> c来读取虚数,并通过c.display()来显示虚数的值。
注意,在这个示例代码中,我们假设用户输入的虚数是以(x, yi)的形式输入的,即实部和虚部之间用逗号隔开,并且虚部的最后一个字符是字母i。如果用户输入的格式不同,我们需要相应地修改重载>>运算符的实现。
阅读全文