重载输入流运算符
时间: 2023-07-08 15:23:07 浏览: 54
重载输入流运算符(>>)的目的是为了使一个自定义的类型能够从输入流中读取数据。例如,如果我们有一个名为Person的类,那么可以通过重载输入流运算符来实现从输入流中读取Person对象的数据。
下面是一个示例代码,演示了如何重载输入流运算符:
```c++
#include <iostream>
#include <string>
class Person {
public:
Person() = default;
Person(const std::string& name, int age) : name_(name), age_(age) {}
friend std::istream& operator>>(std::istream& is, Person& person) {
is >> person.name_ >> person.age_;
return is;
}
private:
std::string name_;
int age_;
};
int main() {
Person p;
std::cin >> p; // 从输入流中读取Person对象的数据
std::cout << "Name: " << p.name_ << ", Age: " << p.age_ << std::endl;
return 0;
}
```
在上面的示例代码中,我们重载了输入流运算符(>>),使得Person类可以从输入流中读取数据。在main函数中,我们通过std::cin来读取Person对象的数据,并将其输出到屏幕上。