这两个<<的运算符重载函数有什么区别吗

void operator << (ostream &out,A &t)
{
out<<t.a<<endl;
//return out;
}
//A是一个类的名字

ostream& operator <<(ostream &out,A &t)
{
out<<t.a<<endl;
return out;
}

有区别

第一个只能cout<<a; a是一个A对象
第二个可以 cout<<a1<<a2<<"3"<<endl;等因为返回了一个out对象。望采纳谢谢..不懂可以追问

后面那个函数的返回值必须加上&用来返回传进来的out对象

不懂,返回引用对象之后有什么改变吗??

第二个可以实现链式编程,第一个就不可以