关于流运算符>>和<<
下面的语句为什么能执行成功呢?#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 中 >>的重载具体是怎么实现的吗?
新手比较菜,问题可能有点傻,大神们轻喷。。
hexane是一个类,我也不是对c++特别了解总之cin>>hexin>>n;这句话给那个类输入n;是不是应该叫类呢,反正cin这东西很强大可已读多种类型。。。C++真是不太会,你就理解成c语言里的调用函数并传递值吧,答案仅供参考 哦哦哦cin的类型好像就是istream而且cin的返回值是cin,高啊 阴影中的曙光 发表于 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>>/ 强大啊 强大啊 你可以理解为要我那边走的方向 小蠢猪 发表于 2015-10-22 14:45
你可以理解为要我那边走的方向
???不懂 就是说,你指到那里,那里的数值就往那边走,就当是箭头就可以了, 不要太在意这个,知道是什么就可以了.和赋值运算这些啊,知道怎么用就可以了.
页:
[1]