[英]C++ Input Overloading stuck in while loop
所以基本上在C ++中,我试图使用运算符重载将多个对象输入到Vector中。 在我的main()中,我有一个while循环,该循环从文本文件中读取书籍,然后将它们存储在以下字符串中:
String name, title, pages, classcode, status;
然后,我去创建我的Book对象:
Book b(name,title pages,classcode, status);
之后,我使用操作符重载使用cin将对象输入到我的向量中。
cin >> b;
我的重载函数如下所示:
istream &operator>>( istream &input, Book &b )
{
input >> b.classCode;
input >> b.author;
input >> b.title;
input >> b.status;
input >> b.numPages;
return input;
}
我正在尝试使用运算符重载将对象存储为的向量,但是每次我运行程序时,它只会存储一个Book对象。
要将Book
多个实例存储在std::vector<Book>
,可以编写以下代码:
std::vector<Book> v;
Book b;
while (std::cin >> b)
v.push_back(b);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.