jxkjxk 发表于 2015-10-15 17:00:46

关于流运算符>>和<<

下面的语句为什么能执行成功呢?
#include<iostream>
using namespace std;
istream & hexin(istream & in){
in>>hex;
cout<<"enter a number using hexadecimal format:";
return in;
}
void main()
{
int n;
cin>>hexin>>n;
}
cin>>后面不是应该接字符,数字,字符串或其指针之类的吗?(为什么这里可以接hexin呢?)或者说有人知道在iostream 中 >>的重载具体是怎么实现的吗?
新手比较菜,问题可能有点傻,大神们轻喷。。

阴影中的曙光 发表于 2015-10-15 17:49:41

hexane是一个类,我也不是对c++特别了解总之cin>>hexin>>n;这句话给那个类输入n;是不是应该叫类呢,反正cin这东西很强大可已读多种类型。。。C++真是不太会,你就理解成c语言里的调用函数并传递值吧,答案仅供参考

阴影中的曙光 发表于 2015-10-15 17:52:35

哦哦哦cin的类型好像就是istream而且cin的返回值是cin,高啊

jxkjxk 发表于 2015-10-15 18:21:07

阴影中的曙光 发表于 2015-10-15 17:49
hexane是一个类,我也不是对c++特别了解总之cin>>hexin>>n;这句话给那个类输入n;是不是应该叫类呢,反正c ...

搞清楚了
istream& operator>> (istream& (*pf)(istream&))
{
returnpf(*this);
}
http://www.cplusplus.com/reference/istream/istream/operator>>/

waliemiao 发表于 2015-10-16 14:24:36

强大啊

ianv 发表于 2015-10-22 13:27:58

强大啊

小蠢猪 发表于 2015-10-22 14:45:59

你可以理解为要我那边走的方向

jxkjxk 发表于 2015-10-27 20:07:06

小蠢猪 发表于 2015-10-22 14:45
你可以理解为要我那边走的方向

???不懂

小蠢猪 发表于 2015-12-15 22:43:09

就是说,你指到那里,那里的数值就往那边走,就当是箭头就可以了, 不要太在意这个,知道是什么就可以了.和赋值运算这些啊,知道怎么用就可以了.
页: [1]
查看完整版本: 关于流运算符>>和<<