流输入输出操作符重载
时间: 2024-11-01 10:03:00 浏览: 18
流输入输出操作符重载是C++中的概念,它允许我们在自定义类中定义如何处理标准输入输出流(如cin、cout),以及特定类型的输入输出。比如,我们可以重载`<<` (插入) 和 `>>` (提取) 运算符,使得当我们使用这些运算符对流进行操作时,实际上是在执行我们自定义的行为。
例如,如果我们有一个自定义的类`Point`,我们可能会重载`<<`操作符使其能够接受`std::ostream`(如`cout`)并输出点的坐标,同时重载`>>`操作符以便从`std::istream`(如`cin`)读取点的坐标。这样可以简化我们的输入输出,并提供更友好的用户界面。
```cpp
class Point {
public:
// 重载插入运算符,用于输出到流
friend std::ostream& operator<<(std::ostream& os, const Point& p);
// 重载提取运算符,用于从流读取
friend std::istream& operator>>(std::istream& is, Point& p);
private:
double x, y;
};
// 实现这两个重载函数
std::ostream& operator<<(std::ostream& os, const Point& p) {
return os << "Point (" << p.x << ", " << p.y << ")";
}
std::istream& operator>>(std::istream& is, Point& p) {
is >> p.x >> p.y; // 从流读取坐标
return is;
}
```
阅读全文