我是 C++ 新手,正在学习运算符重载。现在在下面的代码中,除了对为什么返回类型是对输出流的引用?
有点困惑之外,我得到了所有内容我们有以下枚举。
enum days{ SON, SAT, MON, TUE, WED, THRUS, FRI };
我们正在重载 <<
operator ,打印天数而不是数值 0、1、2 ...等等。
代码是:
ostream& operator <<(ostream &,const days &d)
{
switch(d)
{
case SUN: out << "SUN"; break;
case MON: out << "MON"; break;
case TUE: out << "TUE"; break;
case WED: out << "WED"; break;
.....
...
}
return out;
}
最佳答案
why the return type is reference to output stream?
返回 ostream&
使得链接它成为可能,比如
std::cout << SON << SAT << MON << TUE << WED << THRUS << FRI;
顺便说一句:Output stream不应该(也不能)被复制,因此返回类型是引用(而不是按值)。
关于c++ - 为什么返回类型引用输出流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39611620/