您的位置:首页 > 编程语言 > C语言/C++

重载c++的<<操作符

2017-04-05 14:31 169 查看
今天有道题需要重载"<<"运算,对对象进行一些计算。

一开始认为cout是一个类,"<<"在cout进行过定义,经过一番操作后。。显然失败。

后来得知<<是一种独立于cout的操作符,我对它进行了如下定义:

void operator<<(Rectangle &p)
{
cout<<(p.x2-p.x1)*(p.y2-p.y1);
}


然后又悲剧了……提示必须有2个参数....原来这是<<的规定,第一个参数是输入输出流。

cout是ostream流对象的一个引用

这样写是正确的

void operator<<(ostream& os,Rectangle &p)
{
os<<(p.x2-p.x1)*(p.y2-p.y1);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: