std::ostream&out这个朋友重载运算符函数的目的是什么,而不仅仅是std::cout?

有人可以解释std::ostream &out这个朋友重载运算符函数的目的吗?为什么不直接std::cout在函数内部使用?

friend std::ostream& operator<<(std::ostream& out, const Complex& c) 
{
    out << c.real;
    out << "+i" << c.imag << endl;

    return out;
}

相反,像这样:

friend operator<<(const Complex& c) 
{ 
    std::cout << c.real;
    std::cout << "+i" << c.imag << endl;
}

回答

因为这样你可以使用 anyostream作为输出,而不仅仅是std::cout
例如,std::clog << c;


以上是std::ostream&amp;out这个朋友重载运算符函数的目的是什么,而不仅仅是std::cout?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>