重载运算符一段没看明白,求指点。
发表在C语言图书答疑 2017-04-27
是否精华
版块置顶:

360截图-18615015111.jpg

11至14行代码不知道怎么写,求帮助,练习题答案太深奥了。

friend ostream& operator<<(ostream& os,const CSale s)

{

cout << "Name: " << s.m_cName << ' ' ;

cout << "Price: " << s.m_iPrice<< ' ';

return os;

}

friend ostream&是什么意思啊...

分享到:
精彩评论 5
李木子
学分:2954 LV11
2017-04-27
沙发

你好:

    friend是友元函数的关键字,ostream& os,表示定义的形参是引用调用的,这个引用调用函数,同传地址调用参数是一样的,只不过书写上方法而已,同样都是编译器传递的一个地址,而非一个新对象。



quwenhui
学分:166 LV4
2017-04-27
板凳

李木子 发表于2017-04-27 16:17

你好:

    friend是友元函数的关键字,ostream& os,表示定义的形参是引用调用的,这个引用调用函数,同传地址调用参数是一样的,只不过书写上方法而已,同样都是编译器传递的一个地址,而非一个新对象。



为什么必须要用friend关键字,return的os又是个什么的引用呢?

ostream是什么,类型还是函数,还是其他的什么,书上面没有看到过的印象。

quwenhui
学分:166 LV4
2017-04-27
地板

quwenhui 发表于2017-04-27 16:31

为什么必须要用friend关键字,return的os又是个什么的引用呢?

ostream是什么,类型还是函数,还是其他的什么,书上面没有看到过的印象。

括号里的参数该根据什么确定,如果是多个参数,有顺序要求吗?

李木子
学分:2954 LV11
2017-04-27
4L

quwenhui 发表于2017-04-27 16:31

为什么必须要用friend关键字,return的os又是个什么的引用呢?

ostream是什么,类型还是函数,还是其他的什么,书上面没有看到过的印象。

return os是返回的值嘛,要与定义的函数保持一致,返回相同类型,就像定义一个int add()函数必须返回一个整型的数据一样;ostream是一个类,叫做输出流类,我们常用的cout就是这个类的对象。

李木子
学分:2954 LV11
2017-04-27
5L

quwenhui 发表于2017-04-27 16:34

括号里的参数该根据什么确定,如果是多个参数,有顺序要求吗?

在自己定义函数之前,需要声明函数,那定义函数的参数顺序要与声明函数的参数一致,在main函数调用你自己定义的函数时,也必须要与定义函数的参数顺序一致。

首页上一页 1 下一页尾页 5 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照