friend ostream &operator <<(ostream &,const Point &)
时间: 2023-08-27 12:07:13 浏览: 18
这是一个重载运算符的函数,作用是将 Point 类型的对象输出到流中。具体实现如下:
```cpp
ostream &operator <<(ostream &out, const Point &p) {
out << "(" << p.x << ", " << p.y << ")";
return out;
}
```
其中,第一个参数是一个输出流对象,第二个参数是要输出的 Point 类型的对象。函数体内将 Point 对象的 x 和 y 坐标输出到流中,并在两个坐标之间添加逗号和空格,最终输出的形式类似于 (x, y) 的形式。这个函数返回输出流对象的引用,以便于链式调用。例如,可以将多个 Point 对象连续输出到一个流中,如下所示:
```cpp
Point p1(1, 2), p2(3, 4), p3(5, 6);
cout << p1 << " " << p2 << " " << p3 << endl;
```
输出结果为:
```
(1, 2) (3, 4) (5, 6)
```
相关问题
ostream& operator << (ostream&os, const List&rhs);
这是一个重载运算符的函数,将一个List对象输出到流中。其中,os表示输出流对象,rhs表示要输出的List对象。
函数的返回值为一个ostream对象的引用,这是为了支持多个<<运算符的连续使用,比如 cout << a << b << c; 在这个例子中,每个<<运算符都返回一个ostream对象的引用,使得它们可以连续使用。
下面是一个示例实现:
```
ostream& operator << (ostream&os, const List&rhs) {
os << "[ ";
ListNode* curr = rhs.head_;
while (curr) {
os << curr->val << " ";
curr = curr->next;
}
os << "]";
return os;
}
```
这个实现将List对象按照链表的顺序输出到流中,每个元素之间用空格隔开,用方括号括起来。
ostream &operator<<(ostream &out,const Date &date);
这是一个重载运算符<<,它将Date类的对象输出到流中。其中,out是输出流的引用,date是Date类的常量引用。这个重载运算符的返回值是输出流的引用,这样可以实现链式输出。
例如,假设有一个Date对象d,我们可以这样输出它:
```
cout << d << endl;
```
其中,cout就是ostream类型的输出流。这个输出语句的实现就是通过重载运算符<<来实现的。
相关推荐
















