今天,我给大家来讲运算符重载中流插入运算符和流提取运算符的重载.
cout为什么能成立?
首先给大家说一说:
cout<<5<<"this";
这个语句为什么能够成立?
要想知道这个语句为什么能成立,那我们就得知道cout是什么?
你们肯定会说,cout不就是一个简单的输出吗,对确实是输出!
但是这个"<<"为什么能运用到这个cout上面,这不是右移计算符,计算二进制的呀!
当然,这也是运算符重载!
cout的定义:
cout是在iostream这个头文件里面定义的,而cout就是一个类,这个类叫做ostream,也是在头文件之中的.
至于"<<"为什么能用在cout身上,大家应该都很清楚了吧,毕竟在iostream头文件里面就已经对"<<"运算符进行了重载
那我们该想了!怎么样的重载才可以使得
cout<<5;
和
cout<<"this";
都可以成立呢?
"<<"运算符重载
首先,我们假设这个重载函数一个类的成员函数,就用ostream来说,写一个代码:
void ostream::operator<<(int n){
//......输出n的代码
return ;
}
由于我们没有考虑的过于清楚,所以这个函数的返回值写void也是可以的,虽然有着更好的写法,但是在