【发布时间】:2015-06-03 00:00:00
【问题描述】:
我仍处于学习 C++ 基本格式和命令的阶段。
我现在在类运算符函数重载中,来到<< 和>>。我的问题是:当它们在以下朋友函数中定义时:
ostream &operator << ( ostream &output, const PhoneNumber &number )
并使用 PhoneNumber 类 phone 调用,如下所示:
cout << phone << endl;
为什么朋友功能返回ostream&?我的意思是当一个函数返回一个特定类型的值时,它通常由一个基本类型变量接收,例如 bool、int、char、string 等。但是,对于ostream 和istream,返回的类型为ostream& 未保存。那么,在这种情况下,它不应该是无效的(执行任务并终止而不返回任何值)吗?
【问题讨论】:
标签: c++ return operator-overloading iostream