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;
THE END
二维码