【发布时间】:2021-09-04 00:08:44
【问题描述】:
当我们想要创建一个特定于类的 ostream 对象时,我没有得到这种编写实现方式背后的直觉。
friend ostream& operator<<(ostream& out, Object& obj);
它有这样的用途。在使用 with 运算符重载时,它被传递一个参数。但在定义过程中,我们将 ostream& out 作为第一个参数。它是如何在后台传递第一个参数的?这是一种我不知道的发送参数的隐式方式吗?最后,被引用的 out 对象存储在哪里?它是一个全局变量,被重载的函数自动调用吗?
cout << obj
【问题讨论】:
-
你在这里有一些基本的误解,所以我认为最好的办法是参考你的教科书对运算符重载及其工作原理的完整解释。你的教科书在这个话题上是怎么说的,你的教科书解释中有什么让你不清楚的地方吗?