C++之 ostream详细用法

前言

在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout。那么 ostream 有什么用呢,来看一个场景:

1 class CPoint
2 {
3 public:
4     CPoint(int x_,int y_):x(x_),y(y_){}
5     int x,y;
6 };

举个例子...这里定义了一个简单的类CPoint,如果我们实例化该类过后,想要打印对象的值:

1 CPoint point(1,2);
2 cout << point;

很明显,这样写是会报错,因为"<<"只能输出整型、实型等普通类型。错误如下:

C++之 ostream详细用法

而ostream的出现正好可以解决这个问题。

C++中的ostream这个类型,通常作为某个类的友元函数出现,用于<<操作重载中。接下来咱看看如何通过修改以上示例让输出正常流正常进行。

1 class CPoint
 2 {
 3 public:
 4     CPoint(int x_,int y_):x(x_),y(y_){}
 5 
 6     friend ostream & operator <<(ostream & os,const CPoint & p){
 7         return os << "x = "<<p.x  << " y = "<< p.y << endl;
 8     }
 9 
10     int x,y;
11 };//类后面要记得加;

在 CPoint 中,我们重载了<<操作符,让其能够正常输出。

该方法还可以扩展到其他很多地方,对自定义的类型进行输出时特别管用,写法都是一样的,只要重载<<操作符,配合ostream一起使用即可。
原文链接: https://www.cnblogs.com/loliconinvincible/p/12554115.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/194723

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午6:46
下一篇 2023年2月12日 下午6:47

相关推荐