istream & operator>>(istream& input, Point &obj) { input >> obj.real; input >> obj.imag; return input; }
时间: 2024-04-28 16:23:46 浏览: 13
这是一个重载运算符的函数,它实现了输入流(istream)对自定义类型 Point 的输入操作。在输入时,先读入实部(real),再读入虚部(imag)。最后返回输入流对象input,以支持流式输入操作(例如:cin >> point)。这个函数的输入格式应该是:输入一个实数和一个虚数,用空格或换行符隔开。
相关问题
重载>>
重载>>是C++中的输入流运算符重载,用于实现自定义类型对象的输入操作。其语法格式为:
```
istream& operator>>(istream& is, 自定义类型& obj) {
// 输入操作的具体实现
return is;
}
```
其中,`is`表示输入流对象,`obj`表示要输入的自定义类型对象。在函数体内,我们可以根据输入流的格式和自定义类型的成员变量,实现对象的输入操作。最后,返回输入流对象的引用。
举个例子,如果我们有一个自定义类型`Person`,其中包含`name`和`age`两个成员变量,我们可以通过重载>>来实现对`Person`对象的输入。
```
class Person {
public:
string name;
int age;
};
istream& operator>>(istream& is, Person& p) {
is >> p.name >> p.age;
return is;
}
```
这样,我们就可以使用输入流运算符>>来输入`Person`对象了。
```
Person p;
cin >> p; // 等价于 operator>>(cin, p);
```
c++重载运算符>>
C++中,可以通过重载运算符`>>`来实现对输入流的重载,使得我们可以使用`cin`等输入流对象来输入我们自定义的数据类型。通常的函数原型如下:
```c++
istream& operator>>(istream& is, Type& obj);
```
其中,`is`表示输入流对象,`Type`表示我们自定义的数据类型,`obj`表示我们需要输入的对象。该函数返回值为输入流对象的引用,通常返回`is`即可。
例如,我们需要重载`>>`运算符来输入一个名为`Person`的类的对象,可以这样实现:
```c++
class Person {
public:
friend istream& operator>>(istream& is, Person& p) {
is >> p.name >> p.age;
return is;
}
private:
string name;
int age;
};
```
在这里,我们使用了`std::cin`作为输入流对象,来输入`Person`类的对象`p`的`name`和`age`成员变量。返回的是输入流对象的引用`is`。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)