c++操作符<<

cout<<"Orangesarenottheonlyfruit..."<<endl<<"-andwehave"<<fruit<<"fruitsinall.";在此程序语... cout << "Oranges are not the only fruit... " << endl
<< "- and we have " << fruit << " fruits in all.";
在此程序语句中,操作符 << 表示什么意思,在c++中与在c
中“<<”运算符含义不一样吗?
展开
 我来答
匿名用户
推荐于2016-08-24
展开全部
在C++中可以对特定类型的操作符进行重载, 在涉及int之类的计算时<<任然是左移运算符, 这里的cout的类型是ostream, class osteam把<<重载成自定义的输出函数, 相当于执行了一个名字为<<参数为(ostream cout, char *str)的函数
追问
前面的cout不是输出函数吗?例如std::cout不就是输出函数吗?这里的<<又有什么用处,在后面不加;号时还可以继续使用<<输出文本。
追答
cout不是一个函数而是一个"ostream类型的变量", <<和加减号等一样也是一个运算符, 但是在运算涉及到特别的类型时编译器会检查是否有操作符重载, 之后这个运算符会"变成"调用重载的函数
例如cout的<<可以看作是print, cout << endl经操作符重载之后可以看作是cout.print(endl)

<<会再返回一个cout, 于是cout << "aaa" << "bbb" << "ccc"相当于
((cout << "aaa") << "bbb") << "ccc"; 相当于
( ( cout.print("aaa") ).print("bbb") ).print("ccc");
切俊健
2015-09-13 · TA获得超过1281个赞
知道小有建树答主
回答量:824
采纳率:100%
帮助的人:514万
展开全部
在c中 << 是移位操作符,而c++中重载了该操作符,将字符串作为操作符的输入参数使用,操作符的重载是只有在c++中才有的概念。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
抗琨元弘义
2020-09-17 · TA获得超过1113个赞
知道小有建树答主
回答量:1873
采纳率:95%
帮助的人:10.8万
展开全部
在C++中可以对特定类型的
操作符
进行重载,
在涉及int之类的计算时<<
任然

左移运算符
,
这里的cout的类型是ostream,
class
osteam把<<重载成自定义的输出函数,
相当于执行了一个名字为<<参数为(ostream
cout,
char
*str)的函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式