InQ*_*ive 1 c++ operator-overloading
我学会了如何对Stream Insertion Operator进行运算符重载.但仍有一个疑问.
#include<iostream>
class INT
{
int i;
friend std::ostream& operator<<(std::ostream&,INT&);
public:
INT():i(100){}
};
std::ostream& operator<<(std::ostream& obj,INT & data)
{
obj<<data.i;
return obj;
}
int main()
{
INT obj;
std::cout<<obj;
}
Run Code Online (Sandbox Code Playgroud)
有什么意义return obj;?
那回报有进一步的用处吗?
是我们不得不做的回报,因为运营商<<语法没有任何用处的?
记住你如何编写这样的代码:
cout << "The data is: " << somedata << endl;
Run Code Online (Sandbox Code Playgroud)
这实际上与:
((cout << "The data is: ") << somedata) << endl;
Run Code Online (Sandbox Code Playgroud)
为此,<<操作员必须返回流.
| 归档时间: |
|
| 查看次数: |
510 次 |
| 最近记录: |