Book类声明如下: class Book { string isbn,name,author,press; double price; public: friend ostream &operator<<(ostream &out, Book &b); friend istream &operator>>(istream &in, Book &b); }; 实现其中运算符<<、>>重载函数的定义,使其能够输入输出一个书类对象的信息。
时间: 2024-02-28 16:52:38 浏览: 24
下面是重载运算符<<和>>的实现代码:
```cpp
ostream &operator<<(ostream &out, Book &b)
{
out << "ISBN: " << b.isbn << endl;
out << "书名: " << b.name << endl;
out << "作者: " << b.author << endl;
out << "出版社: " << b.press << endl;
out << "价格: " << b.price << endl;
return out;
}
istream &operator>>(istream &in, Book &b)
{
cout << "请输入ISBN号:";
in >> b.isbn;
cout << "请输入书名:";
in >> b.name;
cout << "请输入作者:";
in >> b.author;
cout << "请输入出版社:";
in >> b.press;
cout << "请输入价格:";
in >> b.price;
return in;
}
```
其中,重载运算符<<用于输出一个Book对象的信息,重载运算符>>用于从输入流中读取数据并设置一个Book对象的属性值。在输入时,我们先输出提示信息,然后使用输入流in逐个读取属性值,并将其设置到Book对象b中。最后返回输入流in。在输出时,我们输出每个属性的名称和对应的值,并返回输出流out。这样,我们就可以使用cout << book;和cin >> book;来输出和输入一个Book对象的信息了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)