注册 登录
编程论坛 C++教室

关于输入输出操作符的重载

未未来 发布于 2013-05-06 18:06, 325 次点击
以输出重载符号为例

程序代码:
ostream& operator<<(ostream& out,const Sales_item &s)
{
    out<<s.isbn<<................;
    return out;
   
}


有几个疑惑,
1. 为什么他有返回类型 而不是 void
2.它有两个形参,在使用时 cout<<item<<endl;

cout 和 item 分别作为第一第二个形参吗。
2 回复
#2
apull2013-05-06 20:14
1.可以连续输出,
cout << a << b << c;
2.第一个形参是输出流,第二个是输出内容。
#3
fxbszj2013-05-06 20:20
第一个问题,函数定义的是ostream类型,就必须得到一个这样一个结果,里面的return就是返回这个结果。返回void,这就好比车启动要的汽油,我给你加石头,车能正常运行吗?定义ostream类型,那你的返回值类型就必须是ostream
第二个问题,函数有两个形参ostream& out,const Sales_item &s,你在调用的这个函数的时候也要提供两个这样类型的实参operator(a,b),a和b就分别是ostream和Sales_item类型
1